2012-11-02 269 views
15

我想在y軸上有漂亮的標籤。例如,我更喜歡1000而不是1000.我如何在ggplot中執行此操作?這裏是一個最小的例子:千分位的x或y軸標籤

x <- data.frame(a=c("a","b","c","d"), b=c(300,1000,2000,4000)) 
ggplot(x,aes(x=a, y=b))+ 
       geom_point(size=4) 

感謝您的任何提示。

回答

23

使用scales軟件包,可以使用一些格式化選項:逗號,美元,百分比。 請參閱?scale_y_continuous中的示例。

我想這你想要做什麼:

library(ggplot2) 
library(scales) 

x <- data.frame(a=c("a","b","c","d"), b=c(300,1000,2000,4000)) 

ggplot(x, aes(x = a, y = b)) + 
    geom_point(size=4) + 
    scale_y_continuous(labels = comma) 
+0

就是這樣。非常感謝。 – giordano

1

使用任何字符基本format()功能美化上千:

例1(以逗號分隔)。

format(1000000, big.mark = ",", scientific = FALSE) 
[1] "1,000,000" 

例2(空格分隔)。

format(1000000, big.mark = " ", scientific = FALSE) 
[1] "1 000 000" 

應用format()到ggplot使用匿名函數座標軸標籤:

ggplot(x, aes(x = a, y = b)) + 
     geom_point(size = 4) + 
     scale_y_continuous(labels = function(x) format(x, big.mark = ",", 
                 scientific = FALSE))