控制ggplot2图例中的'alpha'级别

时间:2013-04-27 12:10:46

标签: r 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"))

但是如何控制alpha级别,我不相信element_rect具有这种能力。

1 个答案:

答案 0 :(得分:52)

您可以通过提供颜色和Alpha值,使用包alpha()中的函数scales来控制半透明度。当您为element_rect()提供颜色时,可以在fill=内使用此功能。

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