2013-04-27 17 views
33

ggplot2では、凡例に半透明の背景を付けるにはどうすればよいですか?ggplot2凡例の「アルファ」レベルの制御

次のコードは、完全に透明な背景(及び位置決め制御)

plot <- plot + theme(legend.position=c(1,1),legend.justification=c(1,1), 
         legend.direction="vertical", 
         legend.box="horizontal", 
         legend.box.just = c("top"), 
         legend.background = element_rect(fill="transparent")) 

を与えるしかし、一つは、アルファのレベルを制御することができますどのように、私はelement_rectがその能力を持っていることを信じていません。

答えて

47

色とアルファ値を指定することで、scalesの機能alpha()で半透明を制御できます。 fill=の色を指定すると、element_rect()の内部でこの関数を使用できます。

library(scales)  
p<-ggplot(iris,aes(Petal.Length,Petal.Width,color=Species))+geom_point() 
p+theme(legend.position=c(1,1),legend.justification=c(1,1), 
     legend.direction="vertical", 
     legend.box="horizontal", 
     legend.box.just = c("top"), 
     legend.background = element_rect(fill=alpha('blue', 0.4))) 

enter image description here

+0

私はそれを試してみましたが、私のggplot2レポートエラー "機能アルファが見つかりません" ... ???最新バージョンの0.9.3.1を使用 –

+3

この機能はライブラリ(スケール)です。私の答えを更新しました。 –

+0

優れています。今、うまく動作します。 –

関連する問題