Візуалізація даних у R за допомогою ggplot2

Лекція з практичними прикладами на R

Лекції
Аналітика даних
Author

Юрій Клебан

Published

20 жовтня 2025 р.

1 Презентація

Відкрити у окремому вікні

🎯 Мета лекції. Зрозуміти принципи Grammar of Graphics, навчитися будувати інформативні графіки у ggplot2 (точки, лінії, стовпчики, боксплоти, фасети), змінювати шкали та теми, комбінувати графіки й обирати коректну візуалізацію під завдання аналізу та презентації.

2 Навіщо візуалізація? 🧭

Візуалізація слугує двом основним цілям:

  • Аналіз (exploration): бачити закономірності, тренди, аномалії; допомагає формулювати гіпотези.
  • Презентація (communication): привернути увагу, підкреслити висновок, продати ідею.

3 Коротко про Grammar of Graphics 🧱

Grammar of Graphics описує графік як комбінацію незалежних «цеглинок»:

  • data: таблиця спостережень;
  • aesthetics (aes): відображення змінних у візуальні властивості (x, y, color, size, shape);
  • geoms: геометричні об’єкти (точки, лінії, області);
  • coord: система координат (декартова, логарифмічна, полярна, картографічна);
  • facets: панелі за групами;
  • scales & guides: шкали відображення й легенди;
  • themes: стилізація (сітка, шрифти, фони).

Найпростіший приклад (логіка шарів):

Code
library(ggplot2)

ggplot(data = ggplot2::mpg) +
 geom_point(aes(x = displ, y = hwy))

Ту ж мапінґ-логіку можна винести в ggplot(...) і додавати різні геометри на тих самих естетиках.

4 Робочий процес з ggplot2 ⚙️

  1. Обрати дані
  2. Описати відповідність змінних в естетику (aes)
  3. Підібрати геометрію під задачу
  4. Налаштувати шкали/легенди
  5. Додати фасети за потреби
  6. Застосувати тему.
  • Стартовий шаблон:
Code
ggplot(mpg, aes(displ, hwy)) +
 geom_point() +
 labs(x = "Робочий об’єм", y = "Трасова витрата", title = "Експлорер ефективності")

Порада: формуйте «історію» графіка з самого початку: яку залежність демонструєте і чому саме ця геометрія найкраща.

5 Геометрії: що і коли використовувати 📌

5.1 Точки (scatter): кореляції та кластери

Code
ggplot(mpg, aes(displ, hwy, color = class)) +
 geom_point(size = 2, alpha = 0.8) +
 guides(color = guide_legend(title = "Клас авто"))

  • Зручно для двох кількісних змінних; колір/форма додають категорії.
  • Розмір (size) задавайте поза aes, якщо це константа.

5.2 Лінії (line): тренди й ряди

Code
ggplot(airquality, aes(Day, Temp, group = Month, color = factor(Month))) +
 geom_line()

  • Підходить для часових рядів, профілів, кумулятивних серій.

5.3 Стовпчики (bar): категорія → значення

Code
ggplot(mpg, aes(class)) +
 geom_bar()

  • Для кількісної метрики за категоріями; для агрегатів — використовуйте stat = "summary".

5.4 Боксплоти (boxplot): розподіли між групами

Code
ggplot(mpg, aes(class, hwy)) +
 geom_boxplot()

  • Показує медіану, квартилі, викиди — добрий старт для порівнянь груп.

Важливо: естетика має бути всередині aes(...), якщо мапите змінну; не можна відображати неперервну змінну у shape без бінування — це помилка масштабу форм.

6 Естетики, шкали й легенди 🎨

  • Колір/заливка: дискретні (класи) vs неперервні (градієнти).
  • Розмір/прозорість: обережно із перцепцією — линійність не завжди інтуїтивна.
  • Шкали: scale_x_log10(), scale_color_brewer(), scale_colour_viridis_c() (дружня до дальтонізму палітра).
Code
ggplot(mpg, aes(displ, hwy, color = displ)) +
 geom_point(size = 2) +
 scale_colour_viridis_c(name = "Об’єм")

  • Вісі та підписи: назви, одиниці, форматування чисел — це частина історії графіка.
  • Легенди: керуйте розміщенням і заголовком через guides() та theme(legend.position=...).
  • Базову «анатомію» (геометрії, модифікацію осей і шкал) варто тримати під рукою як чекліст.

7 Фасети: панелі за категоріями 🗂️

Фасетування розкладає дані по панелях, дозволяючи порівнювати групи «ряд-до-ряду»:

Code
ggplot(mpg, aes(displ, hwy)) +
 geom_point(alpha = 0.7) +
 facet_wrap(~ class, ncol = 4)

  • Використовуйте узгоджені масштаби осей, якщо важливі відносні порівняння; scales = "free" — коли важливі локальні патерни.

8 Статистики та згладжування 📈

Багато геометрій мають вбудовані «статистики» — бінування, щільності, регресійні лінії.

  • Лінійна тенденція: geom_smooth(method = "lm") додає регресію.
Code
ggplot(mpg, aes(displ, hwy, color = class)) +
 geom_point() +
 geom_smooth(method = "lm", se = FALSE)

  • Важно розуміти, що stat_* перетворює дані перед малюванням (напр., stat_bin, stat_density2d).

9 Координатні системи та трансформації 🗺️

Окрім стандартної декартової системи, корисні:

  • Лог-шкала для асиметричних розподілів (scale_x_log10());
  • Переворот осей (coord_flip()) для довгих підписів;
  • Картографія через сумісні пакети, де ggplot2 виступає як шари на мапі; приклад із stat_density2d() демонструє контури за інтенсивністю точок.

10 Теми та стиль 🧩

Оформлення — завершальний штрих, який переводить «чернетку» в «презентаційний» вигляд:

Code
ggplot(mpg, aes(displ, hwy, color = class)) +
 geom_point() +
 labs(title = "Ефективність авто", x = "displ", y = "hwy") +
 theme_minimal(base_size = 12)

11 Гарні практики ✅

  • Концептуалізуйте графік до коду: що фіксоване, що варіює, яка теза?
  • Одне повідомлення — один графік; для огляду робіть серією простих.
  • Підписи, одиниці, джерела — не опускайте.
  • Палітри, дружні до дальтонізму (наприклад, viridis).
  • Експлораторні vs фінальні графіки: різні вимоги до чистоти й деталей.

12 Міні-практика 🧪

  1. Побудуйте scatter для двох кількісних змінних (візьміть mpg), додайте лінійну регресію, поясніть зміст нахилу.
  2. Зробіть facet_wrap за категорією і прокоментуйте відмінності між панелями.
  3. Перекладіть графік у лог-шкалу по осі x; поясніть, як змінився вигляд і інтерпретація.
  4. Зберіть два графіки в макет patchwork, з однією легендою.

13 Література й джерела 📚

  • Слайди «R – Data Visualization»: grammar of graphics, geom_point, фасетування, geom_smooth, теми, палітри та patchwork.
  • A. Gohil, R Data Visualization Cookbook (Packt): рецепти щільностей/контурів (stat_density2d), палітри та розширення екосистеми.

14 Приклади з авторської лекції (з поясненнями)

14.1 Приклад з лекції #1

Code
library(ggplot2)
library(plotly)
library(dplyr)
library(tidyr)
library(gapminder)
library(gganimate)
library(DT)

theme_brand <- function() 
 theme_minimal(base_family="Arial") +
 theme(plot.title=element_text(face="bold", 
                color="#3f5988", 
                size=20),
    axis.title=element_text(color="#3f5988"),
    legend.position="bottom")

scale_color_brand <- scale_color_manual(
 values=c("#3f5988","#f56d40","#3c699b","#f6c5a0","#1b998b","#c44536"))

scale_fill_brand <- scale_fill_manual(
 values=c("#3f5988","#f56d40","#3c699b","#f6c5a0","#1b998b","#c44536"))

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.2 Приклад з лекції #2

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.3 Приклад з лекції #3

Code
head(gapminder)

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.4 Приклад з лекції #4

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.5 Приклад з лекції #5

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.6 Приклад з лекції #6

Code
head(economics)

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.7 Приклад з лекції #7

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.8 Приклад з лекції #8

Code
head(mtcars)

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.9 Приклад з лекції #9

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.10 Приклад з лекції #10

Code
ggplot(data, aes(x, y, color, fill, size, group)) +
  geom_*() +   # геометрична фігура об'єкта
  facet_*() +  # розбиття на панелі
  scale_*() +  # налаштування шкал (колір, розмір, осі)
  coord_*() +  # система координат
  theme_*()   # зовнішній вигляд, стиль

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.11 Приклад з лекції #11

Code
ggplot(gapminder, aes(gdpPercap, lifeExp)) +
 geom_point(size = 2) + 
 theme_brand()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.12 Приклад з лекції #12

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.13 Приклад з лекції #13

Code
ggplot(gapminder, aes(gdpPercap, lifeExp, color = continent)) +
 geom_point(alpha=.7, size = 2) + 
 scale_color_brand + 
 theme_brand()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.14 Приклад з лекції #14

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.15 Приклад з лекції #15

Code
ggplot(gapminder, aes(gdpPercap, lifeExp, color=continent, size=pop)) +
 geom_point(alpha=.6) + 
 scale_color_brand + 
 theme_brand()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.16 Приклад з лекції #16

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.17 Приклад з лекції #17

Code
ggplot(gapminder, aes(gdpPercap, lifeExp, color=continent)) +
 geom_point(alpha=.7, size = 2) +
 scale_x_log10() +
 scale_color_brand + 
 theme_brand()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.18 Приклад з лекції #18

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.19 Приклад з лекції #19

Code
ggplot(gapminder, aes(gdpPercap, lifeExp, color=continent)) +
 geom_point(alpha=.7, size = 2) +scale_x_log10() +
 labs(title="Тривалість життя та дохід", subtitle="Колір — континент", 
    x="GDP per capita (log10)", y="Life expectancy") +
 scale_color_brand + theme_brand()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.20 Приклад з лекції #20

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.21 Приклад з лекції #21

Code
ggplot(gapminder, aes(gdpPercap, lifeExp, color=continent)) +
 geom_point(alpha=.6, size = 2) +
 scale_x_log10() +
 facet_wrap(~continent) +
 scale_color_brand + theme_brand()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Фасети: приклад розкладення даних на панелі для порівняння підгруп (facet_*).

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.22 Приклад з лекції #22

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Фасети: приклад розкладення даних на панелі для порівняння підгруп (facet_*).

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.23 Приклад з лекції #23

Code
ggplot(gapminder, aes(gdpPercap, lifeExp, color=continent)) +
 geom_point(alpha=.4, size = 2) + 
 geom_smooth(se=FALSE) +
 scale_x_log10() +
 scale_color_brand + theme_brand()

Навіщо: Демонстрація залежності між змінними та трендової лінії (регресії).

  • Геометрії: point, smooth — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.24 Приклад з лекції #24

Навіщо: Демонстрація залежності між змінними та трендової лінії (регресії).

  • Геометрії: point, smooth — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.25 Приклад з лекції #25

Code
economics |>
 ggplot(aes(date, unemploy)) +
 geom_line() + 
 labs(title="Часовий ряд: безробіття") + 
 theme_brand()

Навіщо: Динаміка або профілі (часові ряди, зміни у функції x).

  • Геометрії: line — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.26 Приклад з лекції #26

Навіщо: Динаміка або профілі (часові ряди, зміни у функції x).

  • Геометрії: line — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.27 Приклад з лекції #27

Code
gapminder |> filter(year==2007) |>
 ggplot(aes(continent, fill=continent)) +
 geom_bar() + 
 scale_fill_brand + 
 theme_brand()

Навіщо: Порівняння категорій за частотою або агрегованою метрикою.

  • Геометрії: bar — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.28 Приклад з лекції #28

Навіщо: Порівняння категорій за частотою або агрегованою метрикою.

  • Геометрії: bar — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.29 Приклад з лекції #29

Code
ggplot(gapminder, aes(lifeExp)) +
 geom_histogram(bins=30, 
         fill="#3c699b", 
         color="white") +
 theme_brand()

Навіщо: Опис розподілу та форма щільності.

  • Геометрії: histogram — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.30 Приклад з лекції #30

Навіщо: Опис розподілу та форма щільності.

  • Геометрії: histogram — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.31 Приклад з лекції #31

Code
ggplot(gapminder, aes(lifeExp, fill=continent)) +
 geom_density(alpha=.4) + 
 scale_fill_brand + 
 theme_brand()

Навіщо: Опис розподілу та форма щільності.

  • Геометрії: density — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.32 Приклад з лекції #32

Навіщо: Опис розподілу та форма щільності.

  • Геометрії: density — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.33 Приклад з лекції #33

Code
gapminder |> filter(year==2007) |>
 ggplot(aes(continent, lifeExp, fill=continent)) +
 geom_boxplot(alpha=.7, outlier.color="#f56d40") +
 scale_fill_brand +
 theme_brand()

Навіщо: Порівняння розподілів/медіан між групами.

  • Геометрії: boxplot — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.34 Приклад з лекції #34

Навіщо: Порівняння розподілів/медіан між групами.

  • Геометрії: boxplot — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.35 Приклад з лекції #35

Code
gapminder |> filter(year==2007) |>
 ggplot(aes(continent, lifeExp, fill=continent)) +
 geom_violin(alpha=.6, trim=TRUE) +
 scale_fill_brand +
 theme_brand()

Навіщо: Порівняння розподілів/медіан між групами.

  • Геометрії: violin — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.36 Приклад з лекції #36

Навіщо: Порівняння розподілів/медіан між групами.

  • Геометрії: violin — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.37 Приклад з лекції #37

Code
economics |>
 ggplot(aes(date, unemploy)) +
 geom_area(alpha=.6, fill="#3f5988") +
 theme_brand()

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

  • Геометрії: area — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.38 Приклад з лекції #38

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

  • Геометрії: area — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.39 Приклад з лекції #39

Code
as.data.frame(as.table(cor(mtcars))) |>
 ggplot(aes(Var1, Var2, fill=Freq)) +
 geom_tile() + 
 scale_fill_gradient(low="#f6c5a0", 
           high="#3f5988") +
 coord_equal() + 
 theme_brand() + 
 labs(fill="corr")

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

  • Геометрії: tile — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.40 Приклад з лекції #40

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

  • Геометрії: tile — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.41 Приклад з лекції #41

Code
gapminder |> 
 filter(year==2007) |>
 slice(1:12*10) |>
 ggplot(aes(reorder(country, gdpPercap), gdpPercap, fill=continent)) +
 geom_col() + scale_y_log10() +
 coord_flip() + scale_fill_brand + 
 theme_brand() + labs(x=NULL, y="GDP per capita")

Навіщо: Порівняння категорій за частотою або агрегованою метрикою.

  • Геометрії: col — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Координати: застосовано flip для зміни системи координат/орієнтації.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.42 Приклад з лекції #42

Навіщо: Порівняння категорій за частотою або агрегованою метрикою.

  • Геометрії: col — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Координати: застосовано flip для зміни системи координат/орієнтації.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.43 Приклад з лекції #43

Code
gapminder |> filter(year==2007) |>
 count(continent) |>
 ggplot(aes(x=1, y=n, fill=continent)) +
 geom_col(width=.7, color="white") +
 coord_polar(theta="y") + 
 scale_fill_brand + theme_void() + theme_brand()

Навіщо: Порівняння категорій за частотою або агрегованою метрикою.

  • Геометрії: col — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Координати: застосовано polar для зміни системи координат/орієнтації.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.44 Приклад з лекції #44

Навіщо: Продемонструвати окремий прийом побудови/оформлення графіка.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.45 Приклад з лекції #45

Code
ggplot(mtcars, aes(hp, mpg, color=factor(cyl))) +
 geom_point(size=3) +
 scale_color_manual(values=c("4"="#1b998b","6"="#3c699b","8"="#f56d40")) +
 theme_brand()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.46 Приклад з лекції #46

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.47 Приклад з лекції #47

Code
ggplot(mpg, aes(displ, hwy, color=class)) +
 geom_point() + 
 guides(color=guide_legend(nrow=2, byrow=TRUE)) +
 theme_brand() + 
 theme(legend.position="bottom")

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.48 Приклад з лекції #48

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.49 Приклад з лекції #49

Code
ggplot(gapminder, aes(gdpPercap, lifeExp)) +
 geom_point(alpha=.5, size = 2) +
 annotate("text", x=1e4, y=80, label="⬅ якась подія", color="#f56d40", fontface="bold") +
 scale_x_log10() + 
 theme_brand()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.50 Приклад з лекції #50

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.51 Приклад з лекції #51

Code
ggplot(mtcars, aes(hp, mpg)) +
 geom_point(size = 3) +
 labs(title="HP vs MPG", subtitle="Приклад підписів", caption="Джерело: mtcars") +
 theme_brand()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.52 Приклад з лекції #52

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.53 Приклад з лекції #53

Code
ggplot(mtcars, aes(hp, mpg)) + 
 geom_point(color="#3f5988") +
 theme_minimal() + 
 theme(plot.title=element_text(face="bold", 
                size=18, 
                color="#3f5988")) +
 labs(title="Кастомні елементи теми")

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.54 Приклад з лекції #54

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.55 Приклад з лекції #55

Code
ggplot(mtcars, aes(hp, mpg)) +
 geom_point(size = 3) +
 theme_minimal()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.56 Приклад з лекції #56

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.57 Приклад з лекції #57

Code
ggplot(mtcars, aes(hp, mpg)) +
 geom_point(size = 3) +
 theme_grey()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.58 Приклад з лекції #58

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.59 Приклад з лекції #59

Code
ggplot(mtcars, aes(hp, mpg)) +
 geom_point(size = 3) +
 theme_bw()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.60 0 Приклад з лекції #60

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.61 1 Приклад з лекції #61

Code
ggplot(mtcars, aes(hp, mpg)) +
 geom_point(size = 3) +
 theme_linedraw()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.62 2 Приклад з лекції #62

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.63 3 Приклад з лекції #63

Code
ggplot(mtcars, aes(hp, mpg)) +
 geom_point(size = 3) +
 theme_light()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.64 4 Приклад з лекції #64

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.65 5 Приклад з лекції #65

Code
ggplot(mtcars, aes(hp, mpg)) +
 geom_point(size = 3) +
 theme_dark()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.66 6 Приклад з лекції #66

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.67 7 Приклад з лекції #67

Code
ggplot(mtcars, aes(hp, mpg)) +
 geom_point(size = 3) +
 theme_classic()

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.68 8 Приклад з лекції #68

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.69 9 Приклад з лекції #69

Code
g22 <- gapminder |> filter(year==2007) |>
 ggplot(aes(gdpPercap, lifeExp, color=continent,
       text=paste(country, "<br>GDP:", round(gdpPercap), "<br>LE:", lifeExp))) +
 geom_point(size=3, alpha=.85) + scale_x_log10() +
 scale_color_brand + theme_brand()
plotly::ggplotly(g22)

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.

  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.

  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.70 0 Приклад з лекції #70

Code
p_anim <- gapminder |>
 slice(1:(12*12)) |>
 ggplot(aes(
  x=reorder(country, gdpPercap), 
  y=gdpPercap, 
  fill=continent)) +
 geom_col() + 
 coord_flip() + 
 scale_y_log10() +
 scale_fill_brand + 
 theme_brand() +
 transition_states(year, 
          wrap=FALSE, 
          transition_length=5, 
          state_length=1)

animate(p_anim, 
    nframes=120, 
    fps=20, 
    width=900, 
    height=600, 
    renderer=gifski_renderer("gdp.gif"))

Animation

Навіщо: Порівняння категорій за частотою або агрегованою метрикою.

  • Геометрії: col — відповідні типи елементів, які малюються поверх осей.
  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.
  • Координати: застосовано flip для зміни системи координат/орієнтації.
  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

14.71 1 Приклад з лекції #71

Code
p <- ggplot(gapminder, 
 aes(gdpPercap, 
   lifeExp, 
   size = pop, 
   color = continent)) +
 geom_point(alpha = 0.7) +
 scale_color_viridis_d() +
 scale_size(range = c(2, 12)) +
 scale_x_log10() +
 labs(
  title = "Year: {frame_time}",
  x = "GDP per capita",
  y = "Life expectancy"
 ) +
 transition_time(year) +
 ease_aes("linear")

animate(p, nframes=120, fps=20, 
 width=900, height=600, 
 renderer=gifski_renderer("img/animation2.gif"))

Animation

Навіщо: Кореляції/кластери між двома кількісними змінними.

  • Геометрії: point — відповідні типи елементів, які малюються поверх осей.
  • Мапінґ aes(...): визначає, які стовпці даних відображаються у вісь x/y, та естетики color/fill/shape/size. Переконайтеся, що неперервні змінні не мапляться у shape.
  • Шкали: використано налаштування шкал/палітр (наприклад, лог-шкала або колірні градієнти).

Коментарі/поради:

  • Додавайте labs(title, x, y, caption) для зрозумілих підписів.
  • Керуйте легендою через guides() і theme(legend.position=...).
  • Для великих перекриттів точок використовуйте alpha < 1 або бінування (geom_hex, geom_bin2d).
  • Якщо категорій багато, розгляньте фасетування або впорядкування факторів.

15 Література й джерела 📚

  • Слайди «R – Data Visualization»: grammar of graphics, geom_point, фасетування, geom_smooth, теми, палітри та patchwork.
  • A. Gohil, R Data Visualization Cookbook (Packt): рецепти щільностей/контурів (stat_density2d), палітри та розширення екосистеми.

Лого

Лого

Проєкт реалізується за підтримки Європейського Союзу в межах програми Дім Європи.