1

我想绘制一个直方图来比较同一图上的两个数据集。向量的长度不同。d1 有 180 个数字,d2 有 300 个数字。我尝试了以下代码作为示例。

d1<-c(5.18,4.61,3.30,7.58,3.00,3.80,1.95,2.67,2.77,2.73,2.33,3.36,3.50,1.91,4.25,3.87,2.86,2.26,2.00,3.86,3.33,3.59,4.00,2.25,2.44,2.33,3.22,4.42)
d2<-c(2.1,2.1,2.6,2,3.6,2,2.7,1.8,3.1,3.9,3.8,2.6,1.9,2.6,2.1,3.9)
names(d1)<-1:28
names(d2)<-1:15
barplot(t(cbind(d1, d2)), beside=T, col=c("black","red"), border=F)
barplot(t(cbind(d1/sum(d1)*100, d2/sum(d2)*100)), 
    beside=T, col=c("black","red"), border=F)

我不知道这种方法是否正确。x 轴应为 bin。y 轴应该是频率百分比。您的建议将不胜感激!

例如,我想得到如下所示的情节

在此处输入图像描述

4

1 回答 1

0

您可以将参数“add=T”添加到第二个“barplot”函数:

barplot(t(cbind(d1/sum(d1)*100, d2/sum(d2)*100)), beside=T, col=c("black","red"), border=F, add=T)

这将使两个直方图在同一个图形上,甚至共享相同的 x 轴。

于 2015-03-14T15:46:24.063 回答