2013-04-27 11 views
33

In ggplot2 kann ich der Legende einen halbtransparenten Hintergrund geben.Die Alpha-Ebene in einer ggplot2-Legende steuern

Der folgende Code gibt eine vollständig transparente Hintergrund (und Positioniersteuerung)

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")) 

Aber wie man das Niveau der Alpha steuern kann, glaube ich nicht, dass element_rect diese Fähigkeit hat.

Antwort

47

Sie können die Semitransparenz mit der Funktion alpha() aus dem Paket steuern, indem Sie Farbe und Alpha-Wert angeben. Diese Funktion kann innerhalb element_rect() verwendet werden, wenn Sie Farbe für fill= bereitstellen.

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

ich versucht, aber meine ggplot2 meldet Fehler "Kann nicht die Funktion alpha finden" ... ??? Mit der neuesten Version, 0.9.3.1 –

+3

Diese Funktion ist in Bibliothek (Skalen). Meine Antwort wurde aktualisiert. –

+0

Ausgezeichnet. Arbeitet jetzt, Prost. –

Verwandte Themen