使用ggridge绘制多个stat_function调用的结果

时间:2019-03-21 16:11:47

标签: r ggplot2 ggridges

我正在尝试执行与this SO question类似的操作,该问题询问如何通过ggplot通过stat_function绘制多个调用的结果。也就是说,如何在ggplot中绘制函数族。

我想做类似的事情,但是使用ggridges包在y轴上显示不同的结果。到目前为止,我的代码如下:

library(ggplot2)
library(ggridges)
library(mc2d)        ## for PERT distribution, but any function could be inserted

# generate results of distributions
x <- seq_along(100)
dst1 <- dpert(x, 20, 30, 40, shape = 4)
dst2 <- dpert(x, 40, 55, 75, shape = 4)

df <- data.frame("Levels" = c(rep("Level 1", length(x)), rep("Level 2", length(x))), 
                 "dists" = c(dst1, dst2))

ggplot(df, aes(x = dists, y = Levels)) + geom_density_ridges()

但是,结果根本不符合我的预期...结果都徘徊在x轴的零值附近。我感觉这是由于ggridges试图将分布的输出转换为密度图。我需要介绍一个转换步骤吗?

编辑

我将函数调用从dpert更改为rpert,并模拟了很多数据。这会产生与我正在寻找的东西更接近的东西,但其中包含seq_along(1:1e6),感觉非常笨拙...

0 个答案:

没有答案