ggplot legend alpha是完全透明的

Ben*_*Ben 1 r ggplot2

出于某种原因,我的情节中的alpha图例在应该褪色为红色时显示为完全透明.

 geom_boxplot(
  aes(x=OldAdjuster, ymin=bottom,lower=lower,middle=middle,upper=upper,max=top, fill="red", alpha = percentClosed),
  stat="identity")
Run Code Online (Sandbox Code Playgroud)

我的盒子图上的填充和alpha工作正常,但就好像我的图例中没有"红色"填充,它应该显示不同的alpha值应该如何.任何想法为什么?

mne*_*nel 6

目前你正在mapping填写 "red",这意味着它正在创建一个变量"red",巧合的是,第一个默认填充颜色是红色阴影.

美学可以mapped(传递给mapping自变量中的callaesaes_string)或set(外aes,作为命名参数).

如果你设置fill = 'red',那么每件事都可以按你的意愿工作.

一个可重复的例子

# modified from ?geom_boxplot
p <- ggplot(mtcars, aes(factor(cyl), mpg))

# incorrect
p + geom_boxplot(aes(alpha = factor(am), fill ='red')) + theme_bw()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

# the correct approach
p + geom_boxplot(aes(alpha = factor(am)), fill ='red') + theme_bw()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述