8

我正在尝试使用透明填充和相应的图例制作箱线图。除了图例键没有透明填充外,使用 alpha 值的绘图工作正常。下面的例子说明了困难:

dat <- data.frame(x=c('a', 'b', 'c'), y = runif(300), z = c('d', 'e', 'e'))
ggplot(dat) + geom_boxplot(aes(x, y, fill = z, colour = z), alpha = 0.2)

填充透明胶片的箱线图,但不是图例

有没有办法使图例键中的填充值也透明?

SessionInfo()
R version 2.14.0 (2011-10-31)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
ggplot2_0.8.9

在此先感谢您提供有关此问题的任何提示。

以下是 alpha 映射有效的示例

ggplot(dat) + geom_point(aes(x, y, fill = z, colour = z, shape = z), alpha = 0.2)

绘制 alpha 映射工作正常的地方

4

1 回答 1

1

我过去使用的解决方案是这个……它是一个巨大的黑客,但有效。

dat <- data.frame(x=c('a', 'b', 'c'), y = runif(300), z = c('d', 'e', 'e'))
dummy <- dat
dummy$z <- factor(dummy$z)
dummy <- dummy[1,]
dummy[,2]<-NaN
ggplot() + 
geom_boxplot(data=dat,aes(x, y, fill = z, colour = z), alpha = 0.2,legend=FALSE) +
geom_density(data=dummy,aes(x, fill = z, colour = z), alpha = 0.2)

我通常在制作 geom_text 绘图时使用它,但希望图例显示为点或块。但它也适用于这种情况。

万一哈德利正在关注这个线程,我发现自己想要一个 plot=T/F 选项,它在这种情况下就像图例选项一样工作。

于 2011-12-30T16:11:43.553 回答