限制ggplot + geom_density上的y轴范围

时间:2010-10-26 18:55:11

标签: r ggplot2

我正在使用geom_density来绘制具有非常细的尾部的密度。我想限制y轴范围(因此分布的顶部将在屏幕外,尾部更清晰可见)但它在计算密度时丢弃了屏幕外的数据,而不仅仅是没有显示在屏幕外。

E.g。

这绘制了完整的分布,

testData = data.frame(counts=c(rep(1,5), 1:10))
ggplot(testData, aes(x=testData$counts))+geom_density()

但是当y范围受到限制时,看起来分布支持较小。

ggplot(testData, aes(x=testData$counts))+geom_density()+scale_y_continuous(limits=c(0,0.1))

如何在不丢弃数据的情况下“放大”y轴?

1 个答案:

答案 0 :(得分:27)

我相信你正在寻找coord_cartesian():

ggplot(testData, aes(x=testData$counts))+geom_density()+coord_cartesian(ylim=c(0, 0.1))