R中多变量直方图

ffx8fchx  于 2023-02-06  发布在  其他
关注(0)|答案(2)|浏览(154)

我想为多个变量做一个直方图。我用了下面的代码:

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)

但问题是它们互相“覆盖”,如下所示。
我只想让它们彼此相加(显示彼此上方的条形),即不重叠/不覆盖彼此。我该怎么做?

8zzbczxx

8zzbczxx1#

尝试将最后三行替换为:

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

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

doinxwow

doinxwow2#

不太清楚您要在这里查找什么。
一种方法是将打印放置在单独的打印空间中:

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

这就是你要找的吗?

相关问题