2017-05-24 188 views
0

我想要定義在ggplot繪圖中寫入y軸刻度上的內容。 特別的問題是我想Y軸顯示一個小數點。它應該改爲25.0而不是25。我當然可以手工對它進行硬編碼;但這是非常乏味的。 (下面的代碼做的事情是應該做的)在ggplot中格式化y刻度刻度 - R

library(ggplot2) 

DF <- data.frame(c(0:100),c(0:100)) colnames(DF)=c("x","y") 

pl <- ggplot(data = DF, aes(x = x, y = y)) + geom_point() + 

     scale_y_continuous(breaks = c(0,25.0,50.0,75.0,100.0), 
          labels = c("0","25.0","50.0","75.0","100.0")) 

有沒有辦法來格式化X和Y軸,而不必自己鍵入確切的標籤?

而不是labels = c("0","25.0","50.0","75.0","100.0")應該有一個命令,無論在y軸上的嘀嗒聲,標籤應該在小數點後一位數字完成。

回答

2

如何:

pl <- ggplot(data = DF, aes(x = x, y = y)) + 
     geom_point() + 
     scale_y_continuous(labels = function(x) format(x, nsmall = 1)) 
1

嘗試格式:

pl <- ggplot(data = DF, aes(x = x, y = y)) + geom_point() + 

    scale_y_continuous(breaks = c(0,25.0,50.0,75.0,100.0), 
        labels = format(c("0","25","50","75","100"),nsmall=1))