8

透明な塗りつぶしと対応する凡例で箱ひげ図を作成しようとしています。凡例キーに透明な塗りつぶしがないことを除いて、アルファ値を使用したプロットは正常に機能します。次の例は、その難しさを示しています。

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

この問題に関するヒントをお寄せいただきありがとうございます。

アルファ マッピングが機能する例を次に示します。

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

アルファ マッピングが正常に機能するプロット

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プロットを作成するときに使用しますが、凡例をポイントまたはブロックとして表示したいと思います。ただし、このインスタンスでも機能します。

Hadleyがこのスレッドに注意を払っている場合、この状況の凡例オプションのように機能するplot = T/Fオプションが必要であることに気付きました。

于 2011-12-30T16:11:43.553 に答える