2010-10-22 82 views
16

我就整理了一個圖形工作使用GGPLOT2是這樣的...如何格式化ggplot2圖例的數值?

ggplot(timeSeries, aes(x=Date, y=Unique.Visitors, colour=Revenue)) 
+ geom_point() + stat_smooth() + scale_y_continuous(formatter=comma) 

我重視的結果,你可以看到在圖例收入的數值沒有逗號產生。我怎樣才能爲這些值添加逗號?我能夠使用scale_y_continuous作爲軸,可以用於圖例嗎?

alt text

回答

10

注意2014年7月16日:在這個答案的語法已經過時了一段時間。使用metasequoia's answer!


是的 - 只是得到的事情的權利scale_colour_層想通了。嘗試:

ggplot(timeSeries, aes(x = Date, y = Unique.Visitors, colour = Revenue)) + 
    geom_point() + 
    stat_smooth() + 
    scale_y_continuous(formatter = comma) + 
    scale_colour_continuous(formatter = comma) 

我個人也會將我的顏色映射到geom_point層,因此它不會給你圖例中的點背後的奇數行:

ggplot(timeSeries, aes(x = Date, y = Unique.Visitors)) + 
    geom_point(aes(colour = Revenue)) + 
    stat_smooth() + 
    scale_y_continuous(formatter = comma) + 
    scale_colour_continuous(formatter = comma) 
+0

那很好。謝謝馬特。 – analyticsPierce 2010-10-22 04:41:08

33

只是爲了保持電流,ggplot2_0.9.3工作語法是:

require(scales) 
ggplot(timeSeries, aes(x=Date, y=Unique.Visitors, colour=Revenue)) + 
    geom_point() + 
    stat_smooth() + 
    scale_y_continuous(labels=comma) + 
    scale_colour_continuous(labels=comma) 

另見this exchange

+0

如果你在''aes()''裏面設置了size(而不是''colour''),那麼使用''scale_size_continuous(labels = comma)'',我猜也是這樣。 – PatrickT 2015-11-14 19:07:38