Come ordinare gli elementi sull'asse x in ggplot2
Puoi utilizzare la seguente sintassi di base per ordinare gli elementi sull’asse x di un grafico in ggplot2:
ggplot(df, aes(x=factor(x_var, level=c(' value1 ', ' value2 ', ' value3 ')), y=y_var)) + geom_col()
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio: ordina gli articoli sull’asse x in ggplot2
Supponiamo di avere il seguente frame di dati in R che mostra i punti segnati da diverse squadre di basket:
#create data frame
df <- data. frame (team=c('Mavs', 'Heat', 'Nets', 'Lakers'),
dots=c(100, 122, 104, 109))
#view data frame
df
team points
1 Mavs 100
2 Heat 122
3 Nets 104
4 Lakers 109
Se creiamo un grafico a barre per visualizzare i punti segnati da ciascuna squadra, ggplot2 ordinerà automaticamente le barre in ordine alfabetico:
library (ggplot2) #create bar plot ggplot(df, aes(x=team, y=points)) + geom_col()
Per specificare un ordine per le barre sull’asse x, possiamo utilizzare l’argomento level come segue:
library (ggplot2) #create bar plot with specific axis order ggplot(df, aes(x=factor(team, level=c(' Mavs ', ' Heat ', ' Nets ', ' Lakers ')), y=points)) + geom_col()
Le barre sono ora nell’ordine esatto specificato nell’argomento livello .
Puoi anche usare xlab() per rinominare l’asse x in qualcosa di più facile da leggere:
library (ggplot2) #create bar plot with specific axis order ggplot(df, aes(x=factor(team, level=c(' Mavs ', ' Heat ', ' Nets ', ' Lakers ')), y=points)) + geom_col() + xlab(' Team ')
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in ggplot2:
Come ruotare le etichette degli assi in ggplot2
Come impostare le interruzioni degli assi in ggplot2
Come impostare i limiti degli assi in ggplot2
Come modificare le etichette della legenda in ggplot2