Ich versuche alpha zu kombinieren und füllen Sie ggplot2. Es funktioniert, wenn ich geom_bar (oder geom_points, für Farbe) verwende, aber die Alpha-Legende funktioniert nicht, wenn ich geom_boxplot verwende.Alpha und füllen Legenden in ggplot2 boxplots?
library(data.table)
library(ggplot2)
dt = data.table(x = rep(1:5,6), y = rnorm(30), tag1 = rep(c('hey', 'what'), 15), tag2 = rep(c('yeah', 'yeah', 'so', 'so', 'so'), 6))
Es funktioniert für Bars:
ggplot(dt[, list(y=mean(y)), by=list(x, tag1, tag2)], aes(x=x, y=y, fill=tag1, alpha=tag2, group=interaction(x,tag1,tag2))) + geom_bar(stat = 'identity', position = 'dodge')
Aber nicht für boxplot - die Alpha-Legende ist leer.
ggplot(dt, aes(x=x, y=y, fill=tag1, alpha=tag2, group=interaction(x,tag1,tag2))) + geom_boxplot()
Eine einfachere Version kann ohne Füllung erfolgen - es ist wie bar Standardwerte scheint/hellgrau bis grau und boxplot standardmäßig Weiß/lightwhite:
ggplot(dt[, list(y=mean(y)), by=list(x, tag2)], aes(x=x, y=y, alpha=tag2, group=interaction(x,tag2))) + geom_bar(stat = 'identity')
ggplot(dt, aes(x=x, y=y, alpha=tag2, group=interaction(x,tag2))) + geom_boxplot()
Aber ich bin nicht wirklich sicher, wie das zu beheben .. Irgendwelche Gedanken?
Dank! Es ist seltsam, dass es zwischen Bar und Boxplot ein unterschiedliches Verhalten gibt, und dass es so manuell korrigiert werden muss, aber das funktioniert definitiv! Ich stimme zu, dass das Alpha in diesem Beispiel verwirrend ist. In meinem Endergebnis verwende ich Alpha, um zwischen dem theoretischen Ergebnis (transparent) und dem unordentlicheren Ergebnis zu unterscheiden, das man aufgrund von Stichprobenfehlern usw. erhält. Also denke ich, dass es besser lesbar ist. – benjamin