如果这是一个愚蠢的问题,对R很陌生。
我想绘制一个包含大量数据的条形图 - 可能是100条吧。
我想使用颜色和间距来突出显示“组”,所以我可能会有前10个蓝色条,一个小间隙,下一个20个红色,一个小间隙等等。
我可以很好地绘制数据,但是如何以这种方式进行着色和间隙?
答案 0 :(得分:1)
这可以通过@Arun链接中提供的ggplot2
轻松完成。
使用基本图形设置条形之间的空间,您可以使用参数space=
(在每个条形之前设置空格),参数col=
将在函数barplot()
中更改颜色。
以下是每个5条之间有20个条形和空格的示例。
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))