一世 情节 </跨度> 下列:
库(GGPLOT2)
胡萝卜&lt; - data.frame(length = rnorm(500000,10000,10000))cukes&lt; - data.frame(length = rnorm(50000,10000,20000))胡萝卜$ veg&lt; - ‘胡萝卜’cukes $ veg &lt; - ‘cuke’vegLengths&lt; - rbind(胡萝卜,cu)
ggplot(vegLengths,aes(length,fill = veg))+ geom_density(alpha = 0.2)
现在说我只想 情节 </跨度> x = -5000到5000之间的区域,而不是整个范围。
我怎样才能做到这一点?
快速说明:如果你也在使用 coord_flip() 要翻转x和y轴,您将无法使用设置范围限制 coord_cartesian() 因为这两个功能是独家的(见 这里 )。
coord_flip()
coord_cartesian()
幸运的是,这是一个简单的解决方案;设定你的限制 coord_flip() 像这样:
p + coord_flip(ylim = c(3,5), xlim = c(100, 400))
这只是改变了可见范围(即不删除数据点)。
基本上你有两个选择
scale_x_continuous(limits = c(-5000, 5000))
要么
coord_cartesian(xlim = c(-5000, 5000))
第一个删除给定范围之外的所有数据点,第二个仅调整可见区域。在大多数情况下,您不会看到差异,但如果您对数据适用任何内容,则可能会更改拟合值。
您还可以使用速记功能 xlim (要么 ylim ),与第一个选项一样,删除给定范围之外的数据点:
xlim
ylim
+ xlim(-5000, 5000)
有关更多信息,请查看说明 的 coord_cartesian 强> 。
coord_cartesian
该 RStudio cheatsheet 对于 ggplot2 这在视觉上非常清晰。这是备忘单的一小部分:
ggplot2
分发下 CC BY 。