Come creare una legenda in ggplot2 con più righe
Puoi utilizzare la seguente sintassi per creare una legenda in ggplot2 con più righe:
ggplot(df, aes(x=x_var, y=y_var, color=group_var)) + geom_point() + guides(color=guide_legend(nrow= 2 , byrow= TRUE ))
Il valore dell’argomento nrow specifica il numero di righe da utilizzare nella legenda.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: crea una legenda in ggplot2 con più righe
Supponiamo di avere il seguente frame di dati in R che contiene informazioni su vari giocatori di basket:
#create data frame df <- data. frame (team=c('Mavs', 'Heat', 'Nets', 'Lakers', 'Suns', 'Cavs'), points=c(24, 20, 34, 39, 28, 29), assists=c(5, 7, 6, 9, 12, 13)) #view data frame df team points assists 1 Mavs 24 5 2 Heat 20 7 3 Nets 34 6 4 Lakers 39 9 5 Suns 28 12 6 Cavs 29 13
Se creiamo un grafico a dispersione in ggplot2 senza specificare il numero di righe da utilizzare nella legenda, ggplot2 posizionerà per impostazione predefinita un’etichetta su ogni riga:
library (ggplot2)
#create default scatterplot
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 )
Per creare una legenda con più righe, dobbiamo utilizzare la funzione guide() con l’argomento nrow :
library (ggplot2)
#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 ) +
guides(color=guide_legend(nrow= 2 , byrow= TRUE ))
Tieni presente che la legenda ora ha due righe.
Se vogliamo cambiare anche la posizione della legenda possiamo utilizzare la funzione theme() con argomento legend.position :
library (ggplot2)
#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 ) +
theme(legend. position = ' bottom ') +
guides(color=guide_legend(nrow= 2 , byrow= TRUE ))
La legenda si trova ora in fondo alla trama e ha due righe.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in ggplot2:
Come cambiare il titolo della legenda in ggplot2
Come modificare la dimensione della legenda in ggplot2
Come cambiare la posizione della legenda in ggplot2