Як створити гістограми за групами в ggplot2 (з прикладом)


Ви можете використовувати наступний базовий синтаксис для створення групової гістограми в ggplot2:

 ggplot(df, aes(x=values_var, fill=group_var)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple '))

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

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

Приклад: створити гістограму за групою в ggplot2

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

 #make this example reproducible
set. seeds (1)

#create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each=100),
                 points=c(rnorm(100, mean=10),
                          rnorm(100, mean=15),
                          rnorm(100, mean=20)))

#view head of data frame
head(df)

  team points
1 A 9.373546
2 A 10.183643
3 A 9.164371
4 A 11.595281
5 A 10.329508
6 A 9.179532

Ми можемо використати наступний код для створення гістограм, які відображатимуть розподіл очок, набраних кожною з трьох команд:

 library (ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) 

Три гістограми представляють розподіл очок, набраних гравцями кожної команди.

Легенда в правій частині графіка показує, який колір відповідає кожній команді.

Зауважте, що аргумент color визначає колір контуру смужок на кожній гістограмі, а аргумент alpha визначає прозорість (від 0 до 1), яку слід використовувати для смуг.

Встановивши значення альфа менше 1, ми можемо побачити смуги, що перекриваються між гістограмами.

Не соромтеся використовувати функцію labs() , щоб змінити мітки в сюжеті та вибрати тему ggplot2 , яка відповідає вашому стилю:

 library (ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) +
  labs(fill=' Team ', x=' Points Scored ', y=' Count ', title=' Points Scored by Team ') +
  theme_classic() 

ggplot2 гістограма за групою

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

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

Як створити гістограму відносної частоти в R
Як побудувати кілька коробкових графіків на одному графіку в R
Як побудувати кілька ліній на графіку в R

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

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