2015-07-24 14 views
8

Sto creando una trama molto semplice che raggruppa i dati e utilizza la variabile di raggruppamento per determinare stile e colore. Quindi, sovrascrivo quelli che usano "scale_linetype_manaul" e "scale_colour_manual". Fin qui tutto bene, ma quando provo a modificare le etichette delle legende o il titolo, la legenda si divide in due parti: una per il tipo di linea e una per il colore. Voglio solo una legenda, ma con le etichette e il titolo personalizzati.Legenda singola quando si utilizza gruppo, tipo di linea e colore in ggplot2?

Seguendo this question, mi sono assicurato di nominare entrambi gli oggetti scala nello stesso modo, ma questo non sembra essere d'aiuto.

Esempio minimo:

X <- data.frame(TPP=factor(c(1,5,10,1,5,10,1,5,10)), 
       value=c(-0.035819, 0.003356, 0.066091, -0.028039, 0.004333, 0.060292, -0.023115, 0.005661, 0.058821), 
       horizon=c(1,1,1,2,2,2,3,3,3)) 
ggplot(X, aes(x=horizon, y=value, group=TPP, col=TPP, linetype=TPP))+ 
    geom_line(size=1)+ 
    scale_linetype_manual(name="X", values = c("solid","dashed", "dotted")) + 
    scale_color_manual(name="X", values = c("black", "red", "blue"), labels=c("Low", "5","High")) 

Questo produce il seguente figure con due miti. Come posso ricombinare di nuovo quelle leggende, con etichette personalizzate e un titolo?

+0

Si desidera rimuovere la legenda indesiderata, ad esempio usando 'guide =" none "' all'interno di entrambe le chiamate 'scale _...()'? – tospig

risposta

12

Questo potrebbe aiutare:

ggplot(X, aes(x=horizon, y=value, group=TPP, col=TPP, linetype=TPP))+geom_line(size=1)+ 
    scale_linetype_manual(name="X", values = c("solid","dashed", "dotted"),labels=c("Low", "5","High")) + 
    scale_color_manual(name ="X", values = c("black", "red", "blue"),labels=c("Low", "5","High")) 

enter image description here

Se le etichette definite in scale_color_manual e in scale_linetype_manual sono diversi, o se siano specificati nel solo uno di loro, si otterrà due leggende differenti.

+0

Grazie, non era a conoscenza del fatto che è necessario replicare le etichette per evitare la duplicazione della legenda. – Thijs

Problemi correlati