簡體   English   中英

如何縮放x軸並在R中添加刻度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM