Diferentes claves de leyenda dentro de la misma leyenda en ggplot2
Digamos que no necesito una asignación de variable 'adecuada', pero me gustaría tener claves de leyenda para ayudar a comprender el gráfico. Mis datos reales son similares a los siguientes 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"))
Básicamente, me gustaría la clave de la leyenda relativa apoints
Para ser ... solo un punto, sin la línea en el medio. Me acerqué a eso con esto:
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",])
pero define dos leyendas separadas. Arreglar el segundo código (y tener que remodelar mis datos) también estaría bien, pero preferiría una forma (si existe) de cambiar manualmente cualquier clave de leyenda (y seguir usando el primer enfoque). ¡Gracias!
EDITAR:
gracias @alex, quien actualizó mi memoria sobre el mapeo de variables. Sin embargo, la forma más fácil que tengo hasta ahora es la siguiente (¡muy mal truco!):
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 simplemente está ocultando el título de los dosdiferente leyendas
Otras ideas mas que bienvenidas !!!