Come ordinare le barre in un grafico a barre ggplot2


Per impostazione predefinita, ggplot2 dispone le barre in un grafico a barre nel seguente ordine:

  • Le variabili fattore sono classificate per livelli di fattore.
  • Le variabili dei caratteri sono elencate in ordine alfabetico.

Tuttavia, potresti essere spesso interessato a ordinare i lingotti in un altro ordine specifico.

Questo tutorial spiega come eseguire questa operazione utilizzando il seguente frame di dati:

 #create data frame
df <- data. frame (team = c('B', 'B', 'B', 'A', 'A', 'C'),
                 points = c(12, 28, 19, 22, 32, 45),
                 rebounds = c(5, 7, 7, 12, 11, 4))

#view structure of data frame
str(df)

'data.frame': 6 obs. of 3 variables:
 $ team: Factor w/ 3 levels "A","B","C": 2 2 2 1 1 3
 $ points: num 12 28 19 22 32 45
 $rebounds: num 5 7 7 12 11 4

Esempio 1: ordinare le barre in base a un ordine di fattori specifico

Se proviamo a creare un grafico a barre per visualizzare la frequenza per squadra, le barre appariranno automaticamente in ordine alfabetico:

 library (ggplot2)

ggplot(df, aes(x=team)) +
  geom_bar ()

Il codice seguente mostra come ordinare le barre in un ordine specifico:

 #specify factor level order
df$team = factor(df$team, levels = c('C', 'A', 'B'))

#create bar chart again 
ggplot(df, aes(x=team)) +
  geom_bar ()

Esempio 2: ordinare le barre in base al valore numerico

Possiamo anche ordinare le barre in base a valori numerici. Ad esempio, il codice seguente mostra come ordinare le barre dalla frequenza più alta a quella più bassa utilizzando la funzione reorder() :

 library (ggplot2)

ggplot(df, aes(x= reorder (team, team, function (x)-length(x)))) +
  geom_bar () 

Ordina le barre nel grafico a barre ggplot2

Possiamo anche ordinare le barre dalla frequenza più piccola a quella più grande rimuovendo il segno meno nella chiamata function() nella funzione reorder() :

 library (ggplot2)

ggplot(df, aes(x= reorder (team, team, function (x) length(x)))) +
  geom_bar () 

Ordina le barre dalla più piccola alla più grande nel grafico a barre ggplot2

Risorse addizionali

Documentazione per la funzione geom_bar() .
Documentazione per la funzione reorder() .
Un elenco completo di tutorial R sulle statistiche.

Aggiungi un commento

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