我绘制以下内容:
library(ggplot2) carrots <- data.frame(length = rnorm(500000, 10000, 10000)) cukes <- data.frame(length = rnorm(50000, 10000, 20000)) carrots$veg <- 'carrot' cukes$veg <- 'cuke' vegLengths <- rbind(carrots, cukes) ggplot(vegLengths, aes(length, fill = veg)) + geom_density(alpha = 0.2)
现在说,我只想绘制 到 之间的区域x=-5000,5000而不是整个范围。
x=-5000
5000
我怎样才能做到这一点?
基本上你有两个选择
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 备忘单在视觉上ggplot2使这一点非常清晰。这是该备忘单的一小部分:
ggplot2
根据CC BY 分发 。