r - التحكم في مستوى "ألفا" في وسيلة إيضاح ggplot2



(1)

في 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 له تلك القدرة.


Answer #1

يمكنك التحكم في semitransparency مع الدالة alpha() من scales الحزمة عن طريق توفير قيمة اللون والقيمة alpha. يمكن استخدام هذه الوظيفة داخل 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)))





ggplot2