Continuo a riscontrare questo problema in ggplot2, forse qualcuno può aiutarmi.Riordina la legenda senza cambiare l'ordine dei punti sulla trama
Ho un grafico in cui l'ordine delle variabili nella legenda è in ordine inverso rispetto al modo in cui vengono visualizzate sulla trama.
Ad esempio:
df=data.frame(
mean=runif(9,2,3),
Cat1=rep(c("A","B","C"),3),
Cat2=rep(c("X","Y","Z"),each=3))
dodge=position_dodge(width=1)
ggplot(df,aes(x=Cat1,y=mean,color=Cat2))+
geom_point(aes(shape=Cat2),size=4,position=dodge)+
scale_color_manual(values=c("red","blue","black"))+
scale_shape_manual(values=c(16:19))+
coord_flip()
produce:
Così i punti vengono visualizzati sulla trama come Cat2 = Z, Y, allora X (diamanti neri, triangolo blu, rosso cerchio) ma nella legenda vengono visualizzati come Cat2 = X, Y, quindi Z (cerchio rosso, triangolo blu, diamante nero).
Come è possibile invertire l'ordine della legenda senza spostare i punti sul grafico? Riordinare il fattore produce il problema opposto (i punti sulla trama sono invertiti).
Grazie!
Per ora, probabilmente non esiste un modo semplice. La prossima versione potrebbe avere un'opzione per invertire l'ordine della legenda, però. – kohske
Hmm, che puzza. Buono a sapersi. Grazie per il testa a testa! – jslefche
Imposta la scala 'interruzioni'. – hadley