Come cambiare i colori delle barre nel grafico bart in pila in ggplot2


Puoi utilizzare la seguente sintassi di base per modificare il colore delle barre in un grafico a barre in pila in ggplot2:

 #create stacked bar chart
ggplot(df, aes(x=x_var, y=y_var, fill=fill_var)) + 
  geom_bar(position=' stack ', stat=' identity ') +
  scale_fill_manual(values=c(' red ', ' purple ', ' pink ', ...))

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

Esempio: cambia il colore delle barre nel 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 utilizzerà un set predefinito di colori per riempire le barre:

 library (ggplot2)

#create stacked bar chart
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position=' stack ', stat=' identity ') 

Tuttavia, possiamo utilizzare l’argomento scale_fill_manual() per specificare i colori esatti che ggplot2 dovrebbe utilizzare per le barre:

 library (ggplot2)

#create stacked bar chart with custom colors
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position=' stack ', stat=' identity ') +
  scale_fill_manual(values=c(' red ', ' purple ', ' pink ')) 

Le barre ora hanno i colori esatti (in ordine dall’alto al basso) che abbiamo specificato nella funzione scale_fill_manual() .

Tieni inoltre presente che possiamo utilizzare codici colore esadecimali nella funzione scale_fill_manual() :

 library (ggplot2)

#create stacked bar chart with custom hex color codes
ggplot(df, aes(x=team, y=points, fill=position)) + 
  geom_bar(position=' stack ', stat=' identity ') +
  scale_fill_manual(values=c(' #2596BE ', ' #8225BE ', ' #D4C443 ')) 

Le barre ora hanno i codici colore esadecimali che abbiamo specificato.

Risorse addizionali

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

Come riorganizzare le barre in un grafico a barre in pila in ggplot2
Come creare un Barplot in ggplot2 con più variabili
Come ordinare le barre in un grafico a barre ggplot2

Aggiungi un commento

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