2017-05-10 50 views
0

這個問題是由previous post說明了各種方式來改變ggplot圖中從默認指數表示法到完整整數值(當某個軸值非常大時)繪製軸刻度的方式。雖然我能夠將軸標度從指數表示法轉換爲完整值,但我不清楚如何爲圖例中出現的值實現相同的目標。改變ggplot圖例單位刻度

雖然我明白可以用「scale_color ...」或「scale_fill ...」手動更改圖例比例的長度,然後再加上「limits」參數,但這似乎不是解決方案我的圖例值顯示「6000000000」而不是「6e + 09」(或「0」而不是「0e + 00」)。

下面的例子應該足夠了。我的希望是有人可以指出如何實施'尺度'包來申請傳說尺度而不是尺度尺度。

非常感謝。

library(ggplot2) 
library(scales) 
Data <- data.frame(
    pi = c(2,71,828,1828,45904,523536,2874713,52662497,757247093,6999595749), 
    e = c(3,14,159,2653,58979,311599,7963468,54418516,1590576171, 99), 
    face = 1:10) 
p <- ggplot(data = Data, aes(x=face, y=e, colour = pi)) 
myplot <- p + geom_point() + 
    scale_y_continuous(labels = comma) + 
    scale_color_gradientn(colours = rainbow(2), limits=c(0,7000000000)) 
myplot 

回答

3

通過設置labels = comma例如爲:

p <- ggplot(data = Data, aes(x=face, y=e, colour = pi)) 
myplot <- p + geom_point() + 
    scale_y_continuous(labels = comma) + 
    scale_color_gradientn(colours = rainbow(2), limits=c(0,7000000000), labels = comma) 
myplot 

enter image description here

使用在 scale_color_gradientnComma formatter