Diciamo che non ho bisogno di una mappatura delle variabili "corretta" ma vorrei comunque avere le chiavi della legenda per aiutare la comprensione del grafico. I miei dati reali sono simili al seguente dfDiverse chiavi della legenda all'interno della stessa legenda in ggplot2
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"))
In sostanza, vorrei la leggenda relativa chiave per points
per essere .. solo un punto, senza la linea nel mezzo. Mi sono avvicinato a questo:
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",])
ma definisce due legende separate. Anche la correzione del secondo codice (e la necessità di rimodellare i miei dati) andrebbe bene, ma preferirei un modo (se esiste) di modificare manualmente qualsiasi tasto della legenda (e continuare a usare il primo approccio). Grazie!
EDIT:
grazie @alexwhan rinfrescati la memoria sulla mappatura variabile. Tuttavia, il modo più semplice che ho finora è ancora il seguente (molto male mod!):
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())
che è solo nascondere il titolo dei due diversi leggende.
Altre idee più che benvenuti !!!
metodo molto bello. Probabilmente il migliore disponibile. Volevo solo aspettare qualcun altro, ma sembra che sia anche l'unico :-). Comunque, grazie mille! – Michele