我想使用 ggplot2 绘制离散概率分布(如泊松分布)。
我能够在不使用 ggplot2 的情况下绘制它。
plot( dpois( x=0:20, lambda=1 ), type="b")
而且,我能够像这样使用 ggplot2 绘制连续概率分布。
ggplot(data.frame(x=c(-10,10)), aes(x)) + stat_function(fun=dnorm, args=list(0, 1))
我试过的代码是:
ggplot(data.frame(x=c(0:10)), aes(x)) + stat_function(geom="point", fun=dpois, args=list(1))
在 ggplot2 中,如何绘制像第一个这样的离散概率分布?
最佳答案
stat_function
将尝试使用默认值 n=101
在边界值之间进行插值点。谨慎分布的问题是 x 必须达到整数值。尝试在您的示例中指定 n=11:
ggplot(data.frame(x=c(0:10)), aes(x)) +
stat_function(geom="point", n=11, fun=dpois, args=list(1))
使用
geom_point
更简单、更直接。在这种情况下:ggplot(data.frame(x=c(0:10)), aes(x)) +
geom_point(aes(y=dpois(x, 1)), colour="red")
关于r - 使用 ggplot2 的 stat_function 绘制泊松分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27644550/