问题

请在R中绘制以下内容:

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))

coord_cartesian(xlim = c(-5000, 5000)) 

其中第一个删除指定范围外的所有数据点,第二个仅调整可见区域.在大多数情况下,你不会看到的差异,但如果你适合任何东西的数据,它可能会改变拟合的值.

您还可以使用缩写函数 xlim (或 ylim ),它像第一个选项一样移除指定范围之外的数据点:

+ xlim(-5000, 5000)

有关详情,请参阅 coord_cartesian .




相关问题推荐