[英]How to scale x axis and add ticks in R
我使用geom_histogram在R中構建一個直方圖,我想將我的x軸縮放到顯示的252個insted 252並且看到一個刻度evrey 5數字(0,5,10等),我使用了scale_x_continuous(breaks=(0,155,5)
。它工作但是直方圖並沒有在整個屏幕上顯示。我使用了xlim(0,155)
它在整個屏幕上顯示了直方圖,但它覆蓋了我定義的刻度。
問題是xlim(0, 155)
實際上是scale_x_continuous(lim = c(0, 155))
xlim(0, 155)
的簡寫。 因此,當你同時使用xlim()
和scale_x_continuous()
,ggplot會混淆,並且只會使用scale_x_continuous()
的兩個調用之一。 如果我這樣做,我收到以下警告:
'x'的比例已經存在。 為'x'添加另一個比例,它將取代現有的比例。
如您所見,ggplot僅使用您最后定義的比例。
解決方案是將限制和中斷放在scale_x_continuous()
一次調用中。 以下是您可以運行以查看其工作原理的示例:
data <- data.frame(a = rnorm(1000, mean = 100, sd = 40))
ggplot(data, aes(x = a)) + geom_histogram() +
scale_x_continuous(breaks = seq(0, 155, 5), lim = c(0, 155))
讓我再補充一句:現在休息時間與箱子寬度不太匹配,我覺得這很奇怪。 所以我建議你也改變bin寬度。 下面再次繪制直方圖,但將bin寬度設置為5:
ggplot(data, aes(x = a)) + geom_histogram(binwidth = 5) +
scale_x_continuous(breaks = seq(0, 155, 5), lim = c(0, 155))
以下鏈接提供了許多關於如何在ggplot中更改軸的其他信息和示例: http : //www.cookbook-r.com/Graphs/Axes_%28ggplot2%29/
break
為您的主要刻度線提供一系列序列。 嘗試:
scale_x_continuous(breaks=seq(0,155,5))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.