[英]R and ggplot 2: How to set quantile limits for axes in ggplot2 R plots?
[英]How to set limits for axes in ggplot2 R plots?
我繪制了以下內容:
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
的描述。
ggplot2
的RStudio ggplot2
在視覺上非常清楚。 這是該備忘單的一小部分:
在CC BY下分發。
快速說明:如果您還使用coord_flip()
翻轉 x 軸和 y 軸,您將無法使用coord_cartesian()
設置范圍限制,因為這兩個函數是互斥的(請參閱此處)。
幸運的是,這是一個簡單的修復; 在coord_flip()
設置您的限制, coord_flip()
所示:
p + coord_flip(ylim = c(3,5), xlim = c(100, 400))
這只會改變可見范圍(即不刪除數據點)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.