2016-02-29 126 views
2

我有两个数字向量,我想绘制每个+正常曲线的直方图。在同一图上的两个直方图 - 不重叠

首先数值向量:

dput(X) 
structure(c(18.9006028896526, 15.2623176606927, 23.9827366796017, 
18.6674504871855, 33.8321828287622, 106.070218436199, 33.7827125058274, 
138.544803100033, 98.8988553851087, 84.6705010348182, 90.0070387381623, 
97.842536232733, 6.75830201534835, 24.105734944894, 18.9289005033733, 
107.837417018034, 91.2295363960887, 120.394907406909, 23.4284311509232, 
27.936658956423), .Names = c("A", "B", "C", "D", "E", "F", "G", "H", 
"I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T")) 

第二数值向量:

> dput(Y) 

structure(c(4.98024718191362, 4.97784623179944, 37.54860832645, 
34.0616843614727, 146.39674720645, 17.3962674768585, 40.896642118419, 
71.7799735926384, 46.5749573881639, 39.3924128572005, 137.396714992547, 
111.856816465825, 80.8041773807388, 24.1694521970975, 15.700639434151 
), .Names = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15")) 

那些载体的长度不同。我想申请类似下面我用正态曲线的单直方图和估计一个代码:

h<-hist(X, breaks=25, col="green", xlab="Graph", 
     main="Histogram and Normal Curve", xlim = c(0, 100)) 
xfit<-seq(min(X),max(X),length=40) 
yfit<-dnorm(xfit,mean=mean(X),sd=sd(X)) 
yfit <- yfit*diff(h$mids[1:2])*length(X) 
lines(xfit, yfit, col="blue", lwd=2) 

所需的输出:

Something like that

+0

上的其他解决方案,那么究竟是什么问题呢?什么是期望的输出? – MrFlick

+0

我不知道如何将两个直方图放在同一个图上。我的意思是我希望看到每个矢量的条形图彼此靠近 –

+0

“在同一个图上”对您而言意味着什么?你可以上传你以后的草图吗?这不是很清楚。直方图不是相互结合良好的图形。 – MrFlick

回答

2

如果你想同时直方图可以使用par()函数:

编辑:根据你的第一个评论,你真正想要的是一个直方图与两个不同的系列...所以这里是新的代码:

hist(X, breaks=25, col=rgb(0,1,0,alpha=.25), xlab="Graph", 
     main="Histograms and Normal Curves", xlim = c(0, 100)) 
xfit<-seq(min(X),max(X),length=40) 
yfit<-dnorm(xfit,mean=mean(X),sd=sd(X)) 
yfit <- yfit*diff(h$mids[1:2])*length(X) 
lines(xfit, yfit, col="green", lwd=2) 

hist(Y, breaks=25, col=rgb(1,0,0, alpha=0.25), xlim = c(0, 100), add=TRUE) 
xfit2<-seq(min(Y),max(Y),length=40) 
yfit2<-dnorm(xfit2,mean=mean(Y),sd=sd(Y)) 
yfit2 <- yfit2*diff(h$mids[1:2])*length(Y) 
lines(xfit2, yfit2, col="red", lwd=2) 

和最终的情节:

Two Histograms on same graph

这里的关键是使用alpha参数的rgb()功能,使酒吧半透明。您可以阅读this link

+0

我想有在同一个图上的每个向量的酒吧。 –

+0

看起来没问题。我正在比较的数据看起来与这段代码完全一致。 –

相关问题