我绘制如下图:
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之间的区域,而不是整个范围。
我该怎么做呢?
基本上你有两个选择
scale_x_continuous(limits = c(-5000, 5000))
or
coord_cartesian(xlim = c(-5000, 5000))
第一种方法删除给定范围之外的所有数据点,第二种方法只调整可见区域。在大多数情况下,您不会看到差异,但如果您对数据进行拟合,则可能会改变拟合的值。
你也可以使用简写函数xlim(或ylim),它像第一个选项一样删除给定范围之外的数据点:
+ xlim(-5000, 5000)
欲了解更多信息,请查看coord_cartesian的描述。
RStudio的ggplot2备备单在视觉上非常清楚地说明了这一点。以下是小抄中的一小部分:
在CC BY下分发。
基本上你有两个选择
scale_x_continuous(limits = c(-5000, 5000))
or
coord_cartesian(xlim = c(-5000, 5000))
第一种方法删除给定范围之外的所有数据点,第二种方法只调整可见区域。在大多数情况下,您不会看到差异,但如果您对数据进行拟合,则可能会改变拟合的值。
你也可以使用简写函数xlim(或ylim),它像第一个选项一样删除给定范围之外的数据点:
+ xlim(-5000, 5000)
欲了解更多信息,请查看coord_cartesian的描述。
RStudio的ggplot2备备单在视觉上非常清楚地说明了这一点。以下是小抄中的一小部分:
在CC BY下分发。