【发布时间】:2011-11-22 05:14:28
【问题描述】:
我正在 ggplot2 中创建一个填充密度的图,其中一些我想截断。我为缺少图片而道歉——显然我还不允许发布它们。一个简单的开头代码示例:
dd = with(density(rnorm(100,0,1)),data.frame(x,y))
ylimit = .3
ggplot(data = dd, mapping = aes(x = x, y = y), geom="line") +
layer(data = dd, mapping = aes(x = x, y = y), geom = "area",
geom_params=list(fill="red",alpha=.3)) +
scale_x_continuous(limits = c(-3,3)) +
scale_y_continuous(limits = c(0,ylimit))
然而,这会导致填充密度中间的空白区域 dd$y > ylimit。
如果我用这个来补偿
dd$y = pmin(dd$y, ylimit)
该区域带有阴影,但绘图显示的区域略高于 ylimit,因此填充不会延伸到图的顶部。
理想情况下,我想知道如何让 ggplot 显示精确到 ylimit 的图,但欢迎使用任何其他将填充扩展到图顶部的解决方案。
编辑:修正了代码。
【问题讨论】:
-
此代码对我不起作用。你能检查它并编辑吗?
-
此链接也可能有助于演示
ggplot2中“坐标”和“比例”之间的区别。 had.co.nz/ggplot2/coord_cartesian.html