在一个图上绘制多个条形图,但条形图不与R重叠

时间:2014-03-19 16:38:40

标签: r

如果我想用barplot(add = T)重叠的不同调用的条形图来做这个,那很好,花花公子。但是说我希望将它们绘制在相同的情节中,但是第一次调用时从0:1开始有一个ylim,然后是从1:2开始的第二次调用等等。我试过了:

for(i in 1:length(files)) { 
file <- as.matrix(read.table(files[i], header=F, sep=" ") )
if(i==1) barplot(file, beside=T, col=1:i, border=NA, ylim = c(0,length(files))) 
if(i>1) barplot(file, beside=T, col=1:i, border=NA, ylim = c(i-1,i) ,xpd=T, add=T)  
} 

但是它覆盖了它们。我怎么能这样做,以便它们在相同的图像上,但如果有意义则不重叠。我设想了这样的事情http://img585.imageshack.us/img585/5439/romak13.png

1 个答案:

答案 0 :(得分:1)

如果您正在做这样的事情,我建议您使用ggplot2,因为它更容易。

以下是一些示例代码:

library(ggplot2)
data(diamonds)
ggplot(diamonds,aes(x=carat,y=price,fill=color))+
geom_histogram(stat='identity')+
facet_grid('cut~.',scale='free')+labs("Graph Title")

输出如下所示:enter image description here

考虑到数据集的性质,对这个特定图形的解释有点奇怪,但是如果你遵循相同的格式,你应该能够获得一个看起来像样的图形。如果有人有更好的数据示例,请告诉我。