2017-06-30 5 views
1

私は尋ねられたものと同様のプロットを作成しようとしています:(Is there a built-in way to do a logarithmic color scale in ggplot2?)。上記のリンクで、質問からのコードと受け入れ答えを組み合わせることで、次のMWEを作成ggplot2の対数スケールは特定の凡例を縮めます

require(ggplot2) 
n <- 1e5 
df <- data.frame(x = rexp(n), y = rexp(n)) 
p <- ggplot(df, aes(x = x, y = y)) + stat_binhex() 

my_breaks = c(2, 10, 50, 100, 200, 6000) 
p + scale_fill_gradient(name = "count", trans = "log", breaks = my_breaks, labels = my_breaks) 

これは、次のイメージにつながる:何らかの理由で

My output

、凡例のスケーリングは、上記の投稿されたリンクで受け入れられた回答からの出力とは異なります。私が作ったプロットでは、伝説は特定の数字を一緒に縮める(例えば、50,100,200)が、リンク上に表示されたプロットは凡例の数字を均等に分配しているようだ。下の画像は、左のポストで作成された凡例と右の私の凡例を示しています。

Legend comparison

私はリンクからプロットから伝説の美学が好きで、それを再作成します。どのようなアイデアを私は別にやっているかもしれませんか?ありがとうございました。

+0

をチェックlog(2)、log(6000)、length = 6))、0) 'ですが、 – user20650

答えて

2

使用guide="legend"

p + scale_fill_gradient(name = "count", trans = "log", 
         breaks = my_breaks, labels = my_breaks, guide="legend") 

あなたではなく個別の伝説よりも、colourbarを維持したい場合は、youoは `my_breaks =ラウンド(EXP(配列を(行うことができたとし?scale_fill_gradient

enter image description here

関連する問題