【问题标题】:Plot multiple histograms in R with prob=TRUE用 prob=TRUE 在 R 中绘制多个直方图
【发布时间】:2013-05-14 18:53:34
【问题描述】:

我想在 R 中绘制多个直方图,它们不显示频率,而是显示密度:

A <- rnorm(100)
B <- rnorm(100)
hist1 <- hist(A,prob=TRUE,breaks=30)
hist2 <- hist(B,prob=TRUE,breaks=30) 
plot(hist1, col="red",lty=0, xlim=c(-4,4))
plot(hist2, col="blue", lty=0, xlim=c(-4,4), add=TRUE, main="Example")
lines(density(A))

但是,我的 'prob=TRUE' 选项在绘制对象时显然没有通过。有人可以向我解释我做错了什么吗?

【问题讨论】:

  • 似乎给出了相同的结果。
  • 问题是(至少在我得到的图中),直方图没有标准化(y 轴仍然显示频率而不是密度)。但是,当我直接绘制直方图时(也就是说,不是先将它们保存为对象然后调用 `plot'),y 轴具有正确的值。

标签: r


【解决方案1】:

将 prob=T 排除在 hist() 命令之外

hist1 <- hist(A,breaks=30)
hist2 <- hist(B,freq=F,breaks=30) 

并将freq=F 放入绘图命令中。

plot(hist1, col="red",lty=0, xlim=c(-4,4),freq=F)
plot(hist2, col="blue", lty=0, xlim=c(-4,4), add=TRUE, main="Example",freq=F)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 2016-08-13
    • 1970-01-01
    相关资源
    最近更新 更多