R中多个变量的直方图

时间:2013-10-09 10:01:17

标签: r plot bar-chart histogram overlap

我想为多个变量制作直方图。 我使用了以下代码:

set.seed(2)
dataOne <- runif(10)
dataTwo  <- runif(10)
dataThree <- runif(10)
one <-  hist(dataOne, plot=FALSE)
two  <-  hist(dataTwo, plot=FALSE)
three  <- hist(dataThree, plot=FALSE)
plot(one, xlab="Beta Values", ylab="Frequency",
     labels=TRUE, col="blue", xlim=c(0,1))
plot(two, col='green', add=TRUE)
plot(three, col='red', add=TRUE)

但问题是他们彼此覆盖,如下所示。

我只是希望它们彼此相加(显示彼此之间的条),即不重叠/不相互覆盖。 我怎么能这样做?

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试用以下方式替换最后三行:

plot(One, xlab = "Beta Values", ylab = "Frequency", col = "blue")
points(Two, col = 'green')
points(Three, col = 'red')

第一次需要致电plot。但是下次你打电话给它时,它会开始一个新的情节,这意味着你丢失了第一个数据。相反,您希望使用使用points的散点图或使用lines的折线图向其添加更多数据。

答案 1 :(得分:0)

您在这里寻找的内容还不太清楚。

一种方法是将绘图放置在单独的绘图空间中:

par("mfcol"=c(3, 1))
hist(dataOne, col="blue")
hist(dataTwo, col="green")
hist(dataThree, col="red") 
par("mfcol"=c(1, 1))

这是你的追求吗?

enter image description here