Jak zmienić kolory słupków na skumulowanym wykresie bart w ggplot2


Możesz użyć następującej podstawowej składni, aby zmienić kolor słupków na skumulowanym wykresie słupkowym w 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 ', ...))

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: zmień kolor słupków na skumulowanym wykresie słupkowym w ggplot2

Załóżmy, że mamy następującą ramkę danych w R, która pokazuje punkty zdobyte przez różnych koszykarzy:

 #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

Jeśli utworzymy skumulowany wykres słupkowy do wizualizacji punktów zdobytych przez graczy w każdej drużynie, ggplot2 użyje domyślnego zestawu kolorów do wypełnienia słupków:

 library (ggplot2)

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

Możemy jednak użyć argumentuscale_fill_manual () , aby określić dokładne kolory, których ggplot2 powinien używać dla słupków:

 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 ')) 

Paski mają teraz dokładnie takie kolory (w kolejności od góry do dołu), jakie określiliśmy w funkcjiscale_fill_manual () .

Należy również pamiętać, że w funkcjiscale_fill_manual () możemy używać szesnastkowych kodów kolorów:

 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 ')) 

Paski mają teraz określone przez nas szesnastkowe kody kolorów.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w ggplot2:

Jak zmienić rozmieszczenie słupków na skumulowanym wykresie słupkowym w ggplot2
Jak utworzyć wykres barplotowy w ggplot2 z wieloma zmiennymi
Jak sortować słupki na wykresie słupkowym ggplot2

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *