Перейти к основному содержимому
Модуль 5 · Урок 2 из 210/10 в курсе~15 min
Уроки модуля (2/2)

Кастомизация и аспекты

Помимо определения геометрии и эстетики, ggplot2 позволяет полностью настроить внешний вид графика, добавляя заголовки, изменяя темы и фасетируя (разделяя графики на подпанели).


Заголовки и ярлыки: labs()

Чтобы добавить основной заголовок, подзаголовки и настроить метки осей или заголовки легенд, мы добавляем слой labs():

R
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() (простой классический стиль, без линий фоновой сетки).
R
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  theme_minimal()  # Applies a clean, modern style

Разделение графиков на подпанели: facet_wrap()

Фасетирование позволяет разделить один график на несколько подграфиков (панелей), расположенных рядом, на основе значения категориальной переменной.

Основная функция — facet_wrap() и использует обозначение формулы R (~ variable_name):

R
# Creates a separate subplot for each department
ggplot(df, aes(x = age, y = income)) +
  geom_point() +
  facet_wrap(~ department)

Попробуйте сами

Упражнение 1. Добавьте заголовки и оси

Упражнение#r.m5.l2.e1
Попыток: 0Загрузка…

Учитывая точечную диаграмму, добавьте слой labs(), установив заголовок (заголовок) на «Заголовок», метку оси X — «Возраст», а метку оси Y — «Доход».

Загрузка редактора…
Показать подсказку

Используйте labs(title = «Название», x = «Возраст», y = «Доход»), объединив его с «+».

Решение доступно после 3 попыток

Упражнение 2. Применение чистой темы

Упражнение#r.m5.l2.e2
Попыток: 0Загрузка…

Примените графическую тему theme_minimal() к точечной диаграмме ниже, чтобы улучшить ее визуальную эстетику.

Загрузка редактора…
Показать подсказку

Используйте знак «+» и добавьте функцию theme_minimal().

Решение доступно после 3 попыток

Упражнение 3. Разделите график с помощью facet_wrap

Упражнение#r.m5.l2.e3
Попыток: 0Загрузка…

Используйте функцию facet_wrap(), чтобы разделить точечную диаграмму на разные панели в зависимости от столбца отдела.

Загрузка редактора…
Показать подсказку

Используйте facet_wrap(~ Department), чтобы разделить график.

Решение доступно после 3 попыток

Упражнение 4. Переворот осей координат

Упражнение#r.m5.l2.e4
Попыток: 0Загрузка…

Чтобы сделать столбчатую диаграмму со многими категориями читабельной, вы можете перевернуть оси X и Y. Добавьте слой coord_flip() на гистограмму.

Загрузка редактора…
Показать подсказку

Используйте coord_flip() для всех конвейеров ggplot с '+'.

Решение доступно после 3 попыток

Упражнение 5. Полный готовый к публикации сюжет

Упражнение#r.m5.l2.e5
Попыток: 0Загрузка…

Создайте полный график на df: сопоставьте возраст с x, доход с y и цвет с полом внутри geom_point(). Разделите график с помощью facet_wrap() по отделам, добавьте labs() с заголовком «Зарплата по возрасту» и, наконец, примените theme_minimal().

Загрузка редактора…
Показать подсказку

Объедините все слои, используя '+': ggplot(...) + geom_point() + facet_wrap(~ отдел) + labs(title = 'Зарплата по возрасту') + theme_minimal()

Решение доступно после 3 попыток