ggplot帮助:为什么我的密度叠加层没有出现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ggplot帮助:为什么我的密度叠加层没有出现?相关的知识,希望对你有一定的参考价值。

我正在使用以下代码来使用最小值,均值和最大值创建概率分布函数:

a <- ggplot(Break_Even, aes(x =((rpert(4000, min=9677, mode=12776, max=16247, shape=4))))) 

a + geom_histogram(binwidth=200, color="black", fill="cadetblue") +
    geom_vline(aes(xintercept=mean(((rpert(4000, min=9677, mode=12776, max=16427, shape=4))))), color="coral", linetype="dashed", size=1) +
    geom_density() + 
    labs(y= "Frequency", x = "Break Even Quantity", title = "Break Even Probability Frequency Distribution") 

为什么我的密度叠加层不显示?

答案

如果不是常用软件包提供的功能,请提供信息。在这种情况下,我猜测rpert来自mc2d。您没有提供数据框Break_Even,但我可以看到它根本没有使用,但是一次创建并在一个数据上完成所有绘制就更有意义了。

library(mc2d)
library(ggplot2)

Break_Even = data.frame(x =rpert(4000, min=9677, mode=12776, max=16247,shape=4))

ggplot(Break_Even, aes(x=x)) +
geom_histogram(aes(y=..density..),binwidth=200, color="black", fill="cadetblue") +
geom_vline(aes(xintercept=mean(x)), color="coral", linetype="dashed", size=1) +
geom_density() + 
labs(y= "Frequency", x = "Break Even Quantity", title = "Break Even Probability Frequency Distribution")

enter image description here

如果要计算y轴的位置,请遵循here中的解决方案:

ggplot(Break_Even, aes(x=x)) +
geom_histogram(binwidth=200,color="black", fill="cadetblue") +
geom_vline(aes(xintercept=mean(x)), color="coral", linetype="dashed", size=1) +
geom_density(aes(y = ..density..*(nrow(Break_Even)*200))) + 
labs(y= "Frequency", x = "Break Even Quantity", title = "Break Even Probability Frequency Distribution")

enter image description here

以上是关于ggplot帮助:为什么我的密度叠加层没有出现?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 R 中叠加密度图?

R语言ggplot2可视化绘制分面(facet_warp)密度图,然后在密度图上叠加一个正态分布,以说明基础数据离正态分布有多远

如何在单个ggplot2中对齐图层(密度图和垂直线)

用ggplot2绘制密度,x轴上没有线

ggplot2:如何在回归线上曲线小高斯密度?

R:如何:使用 gplot 和 geom_density 的 3d 密度图