Come riorganizzare le barre in un grafico a barre in pila in ggplot2
Puoi utilizzare la seguente sintassi di base per riorganizzare la posizione delle barre in un grafico a barre in pila in ggplot2:
#specify order of bars (from top to bottom) df$fill_var <- factor(df$fill_var, levels=c(' value1 ', ' value2 ', ' value3 ', ...)) #create stacked bar chart ggplot(df, aes(x=x_var, y=y_var, fill=fill_var)) + geom_bar(position=' stack ', stat=' identity ')
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: riorganizzare le barre in un grafico a barre in pila in ggplot2
Supponiamo di avere il seguente frame di dati in R che mostra i punti segnati da diversi giocatori di basket:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
position=c('G', 'F', 'C', 'G', 'F', 'C', 'G', 'F', 'C'),
points=c(22, 12, 10, 30, 12, 17, 28, 23, 20))
#view data frame
df
team position points
1 AG 22
2 AF12
3 AC 10
4 BG 30
5 BF 12
6 BC 17
7 GC 28
8 CF 23
9 CC 20
Se creiamo un grafico a barre in pila per visualizzare i punti segnati dai giocatori di ciascuna squadra, ggplot2 impilerà automaticamente le barre in ordine alfabetico:
library (ggplot2) #create stacked bar chart ggplot(df, aes(x=team, y=points, fill=position)) + geom_bar(position=' stack ', stat=' identity ')
Tieni presente che ciascuna barra in pila visualizza la posizione (dall’alto al basso) in ordine alfabetico.
Per riorganizzare le barre in un modo specifico, possiamo convertire la variabile posizione in un fattore e utilizzare l’argomento livelli per specificare l’ordine in cui le barre dovrebbero essere (dall’alto verso il basso) nel grafico a barre in pila:
library (ggplot2) #convert 'position' to factor and specify level order df$position <- factor(df$position, levels=c(' F ', ' G ', ' C ')) #create stacked bar chart ggplot(df, aes(x=team, y=points, fill=position)) + geom_bar(position=' stack ', stat=' identity ')
Le barre sono ora impilate (dall’alto verso il basso) nell’ordine esatto specificato nell’argomento livelli .
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