У меня есть data.frame pp
, где первые несколько строк выглядят так:
fill x
1 a 0.3048367
2 b 0.3318136
3 c 0.2081782
4 a 0.2969265
5 b 0.2637778
6 c 0.3509706
Я хочу создать сюжет, подобный следующему,
library(ggplot2)
p <- ggplot(data = pp) +
geom_histogram(data=subset(pp, fill == 'a'),
aes(x=x, y=..density.., fill=fill), alpha=0.3) +
geom_histogram(data=subset(pp, fill == 'b'),
aes(x=x, y=..density.., fill=fill), alpha=0.3) +
geom_histogram(data=subset(pp, fill == 'c'),
aes(x=x, y=..density.., fill=fill), alpha=0.3) +
scale_fill_manual(values = c("a" = "red", "b" = "green", c = "blue")) +
theme(legend.title=element_blank())

Теперь альфа-значения в легенде не соответствуют альфа-значениям гистограммы. Я пытаюсь добавить,
p + guides(fill = guide_legend(override.aes = list(alpha = 0.3)))
но я получаю точно такой же сюжет. Как получить альфа-значения в легенде в соответствии с сюжетом?
Примечание: я должен использовать geom_histogram
три раза, потому что я хочу, чтобы гистограммы накладывались друг на друга. Особое значение имеет также цветовая заливка.