Lendas-chaves diferentes dentro da mesma legenda em ggplot2
Digamos que eu não precise de um mapeamento de variáveis 'adequado', mas ainda gostaria de ter chaves de legenda para ajudar na compreensão do gráfico. Meus dados reais são semelhantes aos seguintes df
df <- data.frame(id = 1:10, line = rnorm(10), points = rnorm(10))
library(ggplot2)
ggplot(df) +
geom_line(aes(id, line, colour = "line")) +
geom_point(aes(id, points, colour = "points"))
Basicamente, eu gostaria que a chave da lenda relativa apoints
para ser .. apenas um ponto, sem a linha no meio. Cheguei perto disso com isso:
library(reshape2)
df <- melt(df, id.vars="id")
ggplot() +
geom_point(aes(id, value, shape = variable), df[df$variable=="points",]) +
geom_line(aes(id, value, colour = variable), df[df$variable=="line",])
mas define duas legendas separadas. Corrigir o segundo código (e ter que reformular meus dados) também seria bom, mas eu preferiria uma maneira (se alguma) alterar manualmente qualquer chave de legenda (e continuar usando o primeiro approch). Obrigado!
EDITAR:
obrigado @alexwhan você atualizou minha memória sobre o mapeamento de variáveis. No entanto, a maneira mais fácil que eu tenho até agora ainda é a seguinte (muito ruim hack!):
df <- data.frame(id = 1:10, line = rnorm(10), points = rnorm(10))
ggplot(df) +
geom_line(aes(id, line, colour = "line")) +
geom_point(aes(id, points, shape = "points")) +
theme(legend.title=element_blank())
que está apenas escondendo o título dos doisdiferente legendas.
Outras idéias mais que bem vindas !!!