在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
具有这种能力。
答案 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)))