Уроки модуля (2/2)
Кастомизация и аспекты
Помимо определения геометрии и эстетики, ggplot2 позволяет полностью настроить внешний вид графика, добавляя заголовки, изменяя темы и фасетируя (разделяя графики на подпанели).
Заголовки и ярлыки: labs()
Чтобы добавить основной заголовок, подзаголовки и настроить метки осей или заголовки легенд, мы добавляем слой labs():
ggplot(df, aes(x = age, y = income)) +
geom_point() +
labs(
title = "Income by Age",
subtitle = "2026 census data",
x = "Age (years)",
y = "Annual Income (EUR)",
color = "Gender"
)Визуальные темы: theme_*()
ggplot2 включает в себя несколько предварительно упакованных тем, которые меняют фон, линии сетки и типографику. Некоторые из наиболее распространенных из них:
theme_gray()(тема по умолчанию со светло-серым фоном).theme_minimal()(чистый белый фон с тонкой сеткой).theme_classic()(простой классический стиль, без линий фоновой сетки).
ggplot(df, aes(x = age, y = income)) +
geom_point() +
theme_minimal() # Applies a clean, modern styleРазделение графиков на подпанели: facet_wrap()
Фасетирование позволяет разделить один график на несколько подграфиков (панелей), расположенных рядом, на основе значения категориальной переменной.
Основная функция — facet_wrap() и использует обозначение формулы R (~ variable_name):
# Creates a separate subplot for each department
ggplot(df, aes(x = age, y = income)) +
geom_point() +
facet_wrap(~ department)Попробуйте сами
Упражнение 1. Добавьте заголовки и оси
Учитывая точечную диаграмму, добавьте слой labs(), установив заголовок (заголовок) на «Заголовок», метку оси X — «Возраст», а метку оси Y — «Доход».
Показать подсказку
Используйте labs(title = «Название», x = «Возраст», y = «Доход»), объединив его с «+».
Решение доступно после 3 попыток
Упражнение 2. Применение чистой темы
Примените графическую тему theme_minimal() к точечной диаграмме ниже, чтобы улучшить ее визуальную эстетику.
Показать подсказку
Используйте знак «+» и добавьте функцию theme_minimal().
Решение доступно после 3 попыток
Упражнение 3. Разделите график с помощью facet_wrap
Используйте функцию facet_wrap(), чтобы разделить точечную диаграмму на разные панели в зависимости от столбца отдела.
Показать подсказку
Используйте facet_wrap(~ Department), чтобы разделить график.
Решение доступно после 3 попыток
Упражнение 4. Переворот осей координат
Чтобы сделать столбчатую диаграмму со многими категориями читабельной, вы можете перевернуть оси X и Y. Добавьте слой coord_flip() на гистограмму.
Показать подсказку
Используйте coord_flip() для всех конвейеров ggplot с '+'.
Решение доступно после 3 попыток
Упражнение 5. Полный готовый к публикации сюжет
Создайте полный график на df: сопоставьте возраст с x, доход с y и цвет с полом внутри geom_point(). Разделите график с помощью facet_wrap() по отделам, добавьте labs() с заголовком «Зарплата по возрасту» и, наконец, примените theme_minimal().
Показать подсказку
Объедините все слои, используя '+': ggplot(...) + geom_point() + facet_wrap(~ отдел) + labs(title = 'Зарплата по возрасту') + theme_minimal()
Решение доступно после 3 попыток