2

当我将两者结合在一个图中时,我似乎在直方图和密度线之间进行缩放。单独绘制的密度曲线和两者的组合之间存在明显的视觉差异。在两个图之间具有相同形状和比例的解决方案是什么(单独的密度和与 histo 结合时的密度)?我使用这段代码:

hist(dataList[[cl12]],xlim=range(minx,maxx),breaks=seq(minx,maxx,pasx),col="grey",main=paste(paramlab,"Group",groupnum,Cl,sep=" "),xlab="",freq=FALSE) 
d<-density(dataList[[cl12]])
lines(d,col="red")

  dataList[[cl12]] <- c(4.399449e-02,  2.161474e-02, -1.515223e-05,  1.298059e+01,
      3.163949e-01, -1.785220e+00,  1.041053e+01,  6.327219e-01, -5.778590e-03)

谢谢您的帮助!

4

3 回答 3

3

默认情况下, hist 绘制 bin 频率。如果要显示 bin 概率,使其与密度图的比例相匹配,可以使用 hist 的 freq 参数。这是一个例子:

x = rnorm(1000)
plot(density(x))
hist(x, freq=F, add=T)
于 2013-02-20T18:54:48.317 回答
1

这是做同样事情的另一种方法。

test <- rnorm(1000)
plot(density(test))
par(new=T)
hist(test, freq=F, xaxt="n", xlab="", ylab="", main="")
于 2013-02-20T21:06:44.277 回答
0

除了极少数数据点之外,我认为您确实没有问题。当我将您的代码更改为可重现的版本时,它似乎很好。例如

x <- c(4.399449e-02,  2.161474e-02, -1.515223e-05,  1.298059e+01,
      3.163949e-01, -1.785220e+00,  1.041053e+01,  6.327219e-01, -5.778590e-03)

hist(x,col="grey",freq=FALSE, breaks=10) 
d<-density(x)
lines(d,col="red")

这给出了一个丑陋的情节,但显然这是因为数据点数量少:

在此处输入图像描述

如果您对更多数据点执行相同的方法,它似乎很好,例如:

x <- rgamma(100,1,1)

(使用相同的图形代码)

在此处输入图像描述

于 2013-02-22T10:45:22.427 回答