Как создать сгруппированную гистограмму в R (с примерами)

Как создать сгруппированную гистограмму в R (с примерами)

Сгруппированная гистограмма — это тип диаграммы, на которой отображаются количества различных переменных, сгруппированных по другой переменной.

В этом руководстве объясняется, как создавать сгруппированные гистограммы в R с помощью библиотеки визуализации данных ggplot2 .

Сгруппированная гистограмма в ggplot2

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

#create data frame
df <- data.frame(team= rep (c('A', 'B', 'C'), each =3),
 position= rep (c('Guard', 'Forward', 'Center'), times =3),
 points=c(14, 8, 8, 16, 3, 7, 17, 22, 26))

#view data frame
df

 team position points
1 A Guard 14
2 A Forward 8
3 A Center 8
4 B Guard 16
5 B Forward 3
6 B Center 7
7 C Guard 17
8 C Forward 22
9 C Center 26

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

library (ggplot2)

ggplot(df, aes (fill=position, y=points, x=team)) + 
 geom_bar(position='dodge', stat='identity')
Сгруппированная гистограмма в R

Настройка сгруппированной гистограммы

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

library (ggplot2)

ggplot(df, aes (fill=position, y=points, x=team)) + 
 geom_bar(position='dodge', stat='identity') +
 theme_minimal() + 
 labs(x='Team', y='Points', title='Avg. Points Scored by Position & Team') +
 theme(plot.title = element_text (hjust=0.5, size=20, face='bold')) +
 scale_fill_manual('Position', values=c('coral2', 'steelblue', 'pink'))
Сгруппированная гистограмма в R с ggplot2

Мы можем настроить внешний вид еще больше, используя одну из тем в библиотеке ggthemes.Например, мы могли бы использовать тему Wall Street Journal из этой библиотеки:

install.packages('ggthemes')

library (ggplot2)
library (ggthemes)

ggplot(df, aes (fill=position, y=points, x=team)) + 
 geom_bar(position='dodge', stat='identity') +
 theme_wsj() 
Сгруппированная гистограмма в R с ggthemes

Обратитесь к нашему Полному руководству по лучшим темам ggplot2, чтобы узнать еще больше тем.

Дополнительные ресурсы

Как создать столбчатую диаграмму с накоплением в R
Как создать сгруппированный блокплот в R с помощью ggplot2
Как создавать параллельные графики в ggplot2

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.