2016-07-11 25 views
2

Ich versuche einige Boxplots als halbtransparent zu plotten. Wenn ich den Wert alpha einstelle, wird nur die Fülltransparenz angepasst und nicht die Ränder/Striche/Farben.ggplot: Hinzufügen von Alpha-Wert zu einer ganzen Ebene

Haben Sie eine Idee, wie Sie die ganze Geom-Schicht transparent machen?

library(ggplot2) 
ggplot(mtcars, aes(factor(cyl), mpg)) + 
    geom_boxplot(aes(fill = factor(cyl), color = factor(cyl)), alpha = 0) 

enter image description here

Antwort

3

Dies wird nicht aus der Box arbeiten, da für Polygone ggplot2 gilt nur alpha-fill, nicht colour. Um dies zu beheben, wenden wir den folgenden Ad-hoc-Patch an, indem wir Low-Level-Interna übernehmen und bei Bedarf alpha Mapping hinzufügen.

Auschecken the following gist. Ich werde es hier nicht posten, da es zu lang ist.

ggplot(mtcars, aes(factor(cyl), mpg)) + 
    geom_boxplot(aes(fill = factor(cyl), color = factor(cyl)), alpha = 0.4, size = 1.4) 

Bevor: enter image description here

Nach: enter image description here

+0

Dank @tonytonov! – Deena

+0

Gern geschehen! – tonytonov