Come modificare l'ordine delle sfaccettature in ggplot2 (con esempio)


Puoi utilizzare la seguente sintassi di base per specificare l’ordine delle sfaccettature in ggplot2:

 p+
  facet_grid(~factor(my_variable, levels=c(' val1 ', ' val2 ', ' val3 ', ...)))

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: cambia l’ordine delle sfaccettature in ggplot2

Supponiamo di avere il seguente frame di dati in R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
                 points=c(8, 14, 20, 22, 25, 29, 30, 31),
                 assists=c(10, 5, 5, 3, 8, 6, 9, 12))

#view data frame
df

  team points assists
1 to 8 10
2 to 14 5
3 B 20 5
4 B 22 3
5 C 25 8
6 C 29 6
7 D 30 9
8 D 31 12

Il codice seguente mostra come utilizzare facet_grid() per creare una griglia che visualizzi un grafico a dispersione degli assist rispetto ai punti per ciascuna squadra:

 library (ggplot2)

#create multiple scatter plots using facet_grid
ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_grid(.~team)

Per impostazione predefinita, ggplot2 posiziona i grafici a dispersione in ordine in base ai valori che appaiono per primi nella variabile team del frame di dati.

Tuttavia, possiamo convertire squadra in una variabile fattore e utilizzare l’argomento livelli per specificare l’ordine in cui le squadre devono essere posizionate nella trama:

 library (ggplot2)

#create multiple scatter plots using facet_grid with specific order
ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_grid(~factor(team, levels=c(' C ', ' D ', ' A ', ' B '))) 

cambia l'ordine delle sfaccettature in ggplot2

Nota che le nuvole di punti sono ora ordinate secondo l’ordine specificato nell’argomento livelli : C, D, A, B.

Il vantaggio di utilizzare questo approccio è che in realtà non modifichiamo i dati sottostanti.

Invece, modifichiamo solo i livelli nella funzione facet_grid() .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in ggplot2:

Come cambiare la dimensione del carattere in ggplot2
Come rimuovere una legenda in ggplot2
Come ruotare le etichette degli assi in ggplot2

Aggiungi un commento

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