2017-05-10 16 views
0

この質問は、デフォルトの指数表記法(1つの軸の値が非常に大きい場合)まで、ggplot図で軸の尺度をどのようにプロットするかを変更する様々な方法を説明するものです。私は軸のスケールを指数表記から完全な値に変換することができますが、私は凡例に現れる値に対してどのように同じ目標を達成するのかははっきりしていません。ggplot凡例単位のスケールを変更する

"scale_color ..."または "scale_fill ..."と "limits"引数の後に凡例の長さを手動で変更できることは理解していますが、これは解決策ではないようです私の凡例の値は "6e + 09"(または "0e + 00"ではなく "0")ではなく "6000000000"と表示されます。

次の例で十分です。私の希望は誰かが軸スケールよりも凡例スケールを適用するための 'スケール'パッケージの実装方法を指摘することができます。

ありがとうございました。

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を設定することにより、scale_color_gradientnComma formatterを使用してください:

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

関連する問題