如果这是一个愚蠢的问题,对 R 来说相当新,很抱歉。
我想绘制一个包含大量数据的条形图——可能是 100 个条形图。
我想使用颜色和间距来突出“组”,所以我可能有前 10 个蓝色条,一个小间隙,接下来的 20 个红色,一个小间隙等等。
我可以很好地绘制数据,但是如何以这种方式进行着色和间隙?
如果这是一个愚蠢的问题,对 R 来说相当新,很抱歉。
我想绘制一个包含大量数据的条形图——可能是 100 个条形图。
我想使用颜色和间距来突出“组”,所以我可能有前 10 个蓝色条,一个小间隙,接下来的 20 个红色,一个小间隙等等。
我可以很好地绘制数据,但是如何以这种方式进行着色和间隙?
这可以很容易地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))