Подтвердить что ты не робот

Управление уровнем альфы в легенде 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 обладает этой способностью.

4b9b3361

Ответ 1

Вы можете управлять полупрозрачностью с помощью функции 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