【问题标题】:R bar chart colours for groups of bars条形组的 R 条形图颜色
【发布时间】:2013-02-11 19:58:28
【问题描述】:

对 R 相当陌生,如果这是一个愚蠢的问题,请见谅。

我想绘制一个包含大量数据的条形图 - 可能是 100 个条形图。

我想使用颜色和间距来突出“组”,所以我可能有前 10 个蓝色条,一个小间隙,接下来的 20 个红色,一个小间隙等等。

我可以很好地绘制数据,但是我怎样才能以这种方式进行着色和间隙呢?

【问题讨论】:

  • 有很多关于这个主题的帖子:例如,参见herehere。如果这不能解决,请在 SO 上搜索带有标签 [r] 的 barplot。
  • @agstudy,:) 哦,废话!我现在就换。给我一分钟
  • 改为检查thisthis。抱歉链接有误。
  • 您应该认真重新考虑制作一个包含 100 个条形的条形图。我相信有更好的选择来展示您的数据。
  • (+1) @Roland。添加到它,并且不可能以“离散”方式选择颜色,如 Didzis (顺便说一句,不错的答案)如下所示。您可能必须使用渐变。是的,它有很多酒吧..

标签: r statistics


【解决方案1】:

这可以通过@Arun 链接中提供的ggplot2 轻松完成。

使用基本图形来设置条之间的空间,您可以使用参数space=(在每个条之前设置空间)并且参数col= 将在函数barplot() 中改变颜色。

这是一个示例,其中包含 20 条,每 5 条之间有间隔。

df<-sample(1:10,20,replace=T)
barplot(df,space=c(0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0),
        col=rep(c("red","blue","green","yellow"),each=5))

如果每组中的观察数量相同,那么您可以将值向量转换为矩阵,然后绘制它(使用参数beside=TRUE)。在这种情况下,您只需要提供颜色,但条形图会自动分组。

df2<-matrix(df,ncol=4)
barplot(df2,beside=TRUE,col=rep(c("red","blue","green","yellow"),each=5))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    相关资源
    最近更新 更多