2013-11-04 12 views
8

ggplot2では、geom_XXXで定義された透明度が凡例に反映されます。例えば:ggplot2凡例のポイント透明度を削除します

what we have

点は非常に透明であるので、それらはほとんど伝説に見られない:

df <- data.frame(x=runif(10000), z=ifelse(runif(10000) > 0.5, 'a', 'b')); df$y <- runif(10000); df$y[df$z == 'b'] <- cos(df$x[df$z == 'b']*10) 
ggplot(df) + geom_point(aes(x, y, color=z), alpha=0.1) 

は、以下の結果を与えます。

what I want

どのようにこれが可能である:グラフは次のようになりますように、私は、伝説からポイントの透明性を削除したいと思いますか?

答えて

21

機能guides()override.aes=を使用すると、凡例エントリだけにアルファ値を設定できます。

ggplot(df) + geom_point(aes(x, y, color=z), alpha=0.1)+ 
    guides(colour = guide_legend(override.aes = list(alpha=1))) 
+0

は、このメカニズムを認識していませんでした。 override.aesをクイック検索すると、この質問の複製であるいくつかの例が追加されました:http://stackoverflow.com/q/16356052/17523およびhttp://stackoverflow.com/q/5290003/17523 –

関連する問題