Как создать гистограмму в ggplot2 с несколькими переменными
Гистограмма полезна для визуализации количества различных категориальных переменных.
Иногда нам нужно создать гистограмму, которая визуализирует количество категориальных переменных, разделенных на подгруппы.
Например, мы можем захотеть визуализировать общий объем продаж попкорна и газированных напитков на трех разных спортивных стадионах. В этом руководстве представлен пошаговый пример создания следующей гистограммы с несколькими переменными:
Шаг 1. Создайте данные
Во-первых, давайте создадим фрейм данных для хранения наших данных:
#createdata df <- data.frame(stadium= rep (c(' A ', ' B ', ' C '), each =4), food= rep (c(' popcorn ', ' soda '), times =6), sales=c(4, 5, 6, 8, 9, 12, 7, 9, 9, 11, 14, 13)) #viewdata df stadium food sales 1 A popcorn 4 2 A soda 5 3 A popcorn 6 4 A soda 8 5 B popcorn 9 6 B soda 12 7 B popcorn 7 8 B soda 9 9 C popcorn 9 10 C soda 11 11 C popcorn 14 12 C soda 13
Шаг 2. Создайте гистограмму с несколькими переменными
В следующем коде показано, как создать гистограмму с несколькими переменными, используя функцию geom_bar() для создания столбцов и аргумент «dodge» , чтобы указать, что столбцы в каждой группе должны «уклоняться» и отображаться рядом.
ggplot(df, aes (fill=food, y=sales, x=stadium)) + geom_bar(position=' dodge ', stat=' identity ')
Различные этапы — A, B и C — отображаются вдоль оси X, а соответствующие продажи попкорна и газировки (в тысячах) отображаются вдоль оси Y.
Шаг 3. Измените эстетику штрихового графика.
Следующий код показывает, как добавить заголовок, изменить метки осей и настроить цвета на гистограмме:
ggplot(df, aes (fill=food, y=sales, x=stadium)) + geom_bar(position=' dodge ', stat=' identity ') + ggtitle(' Sales by Stadium ') + xlab(' Stadium ') + ylab(' Sales (in thousands) ') + scale_fill_manual(' Product ', values=c(' coral2 ',' steelblue '))
Дополнительные ресурсы
Как изменить заголовок легенды в ggplot2
Как изменить размер легенды в ggplot2
Полное руководство по лучшим темам ggplot2