ggplot: adicione manualmente legendas para estética que não são mapeadas
Eu quero produzir um gráfico de barras sobreposto com pontos onde ambos têm legendas separadas. Além disso, quero escolher a cor das barras e o tamanho dos pontos usando os argumentos externosaes()
. Como os dois não estão mapeados, nenhuma legenda é produzida.
1) Como posso adicionar uma legenda manualmente para preenchimento e tamanho?
library(ggplot2)
d <- data.frame(group = 1:3,
prop = 1:3 )
ggplot(d, aes(x=group, y=prop)) +
geom_bar(stat="identity", fill="red") +
geom_point(size=5)
Foi o que eu criei: usei mapeamentos fictícios e modifiquei a legenda de acordo com minhas necessidades posteriormente. Mas essa abordagem parece desajeitada para mim.
2) Existe uma maneira manual de dizer: Adicione uma legenda com este título, essas formas, cores, etc.?
d <- data.frame(dummy1="d1",
dummy2="d2",
group = 1:3,
prop = 1:3 )
ggplot(d, aes(x=group, y=prop, fill=dummy1, size=dummy2)) +
geom_bar(stat="identity", fill="red") +
geom_point(size=5) +
scale_fill_discrete(name="fill legend", label="fill label") +
scale_size_discrete(name="size legend", label="size label")
Acima eu mapeifill
paradummy1
. Então eu esperariascale_fill_discrete
para alterar essa lenda. Mas parece modificar osize
legenda.
3) Não tenho certeza do que deu errado aqui. Alguma ideia?