我想向 ggplot 密度图添加额外的几何图形,但无需更改数据的显示限制,也无需通过自定义代码计算所需的限制。举个例子:
set.seed(12345)
N = 1000
d = data.frame(measured = ifelse(rbernoulli(N, 0.5), rpois(N, 100), rpois(N,1)))
d$fit = dgeom(d$measured, 0.6)
ggplot(d, aes(x = measured)) + geom_density() + geom_line(aes(y = fit), color = "blue")
ggplot(d, aes(x = measured)) + geom_density() + geom_line(aes(y = fit), color = "blue") + coord_cartesian(ylim = c(0,0.025))
Run Code Online (Sandbox Code Playgroud)
在第一个图中,拟合曲线(与“测量的”数据非常吻合)掩盖了测量数据的形状:
我想裁剪该图以包含第一个几何图形的所有数据,但裁剪拟合曲线,如第二个图所示:

虽然我可以使用 生成第二个图coord_cartesian,但这有两个缺点:
coord_cartesian。然而我需要将情节与facet_wrap(scales = "free") 如果在计算坐标限制时不考虑第二个几何图形,则可以实现所需的输出 - 是否可以在不计算自定义 R 代码中的限制的情况下实现?