R 中多个变量的直方图

问题描述 投票:0回答:2

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

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)

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

我只是希望它们彼此添加(显示彼此上方的条形),即不重叠/不相互覆盖。 我该怎么做?

r plot bar-chart histogram overlap
2个回答
0
投票

尝试将最后三行替换为:

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

第一次需要打电话

plot
。但是下次你调用绘图时,它将开始一个新的绘图,这意味着你会丢失第一个数据。相反,您想通过使用
points
的散点图或使用
lines
的折线图向其添加更多数据。


0
投票

不太清楚您在这里寻找什么。

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

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

这就是你所追求的吗?

© www.soinside.com 2019 - 2024. All rights reserved.