-1

如果这是一个愚蠢的问题,对 R 来说相当新,很抱歉。

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

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

我可以很好地绘制数据,但是如何以这种方式进行着色和间隙?

4

1 回答 1

1

这可以很容易地ggplot2通过@Arun 的链接中提供的方式完成。

使用基本图形来设置条之间的空间,您可以使用参数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))

在此处输入图像描述

于 2013-02-26T11:34:44.463 回答