Як змінити кольори стовпців у гістограмі зі накопиченням у ggplot2


Ви можете використовувати наступний базовий синтаксис, щоб змінити колір стовпчиків у стовпчастій діаграмі з накопиченням у 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 ', ...))

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: змінити колір стовпчиків у стовпчастій діаграмі з накопиченням у ggplot2

Припустимо, що ми маємо наступний кадр даних у R, який показує очки, набрані різними баскетболістами:

 #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

Якщо ми створимо гістограму з накопиченням для візуалізації очок, набраних гравцями кожної команди, ggplot2 використовуватиме стандартний набір кольорів для заповнення смужок:

 library (ggplot2)

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

Однак ми можемо використовувати аргумент scale_fill_manual() , щоб вказати точні кольори, які ggplot2 має використовувати для смуг:

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

Смуги тепер мають точні кольори (в порядку зверху вниз), які ми вказали у функції scale_fill_manual() .

Також зауважте, що ми можемо використовувати шістнадцяткові коди кольорів у функції 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 ')) 

Смуги тепер мають шістнадцяткові коди кольорів, які ми вказали.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в ggplot2:

Як змінити порядок стовпчиків у стовпчастій діаграмі з накопиченням у ggplot2
Як створити барплот у ggplot2 із кількома змінними
Як сортувати стовпчики на гістограмі ggplot2

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *