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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *