You are on page 1of 62

Візуалізація даних

Лекція 4
 У 1848 році в лондонському районі Сохо було зафіксовано спалах холери, під
час якого загинуло 616 жителів. Під час цього спалаху лікар епідеміолог Джон
Сноу на основі візуального аналізу даних зробив припущення, що джерелом
зараження є вода.
 Проблема вакцинації та відмови від вакцинації актуальна не лише для
України. Після опублікованого у 1998 році в британському медичному журналі
дослідження де щеплення були вказані як причина аутизму кількість батьків,
які відмовляються від щеплень збільшилась.
Питання
1. Мова візуалізації.
2. Інфодизайн: графіки та ефективність візуального кодування.
3. Функція plot().
4. Графічна бібліотека ggplot2 та її можливості.
5. Збереження графіку.
1. Візуалізація
 Елементами мови візуалізації є мітки та візуальні канали.
 Мітки - це базові графічні елементи (найпростіші геометричні об'єкти):
 точка
 лінія
 площина (на 2D поверхні)
 об'ємне тіло (в 3D)
 Канали - це спосіб, у який можна показати позначки графіка. Контролюємо вигляд
позначки за допомогою таких візуальних каналів:
 позиція
 розмір
 форма
 орієнтація
 кольор (відтінок, насиченість, яскравість).

Одночасно, як і будь яка мова, її базові елементи можна комбінувати багатьма


способами. Проте, не всі комбінації мають сенс.
Різні типи даних вимагають різних способів їх представлення мовою візуалізації - для
них потрібно використовувати різні способи візуального кодування.
довжина
форма

колір
(яскравість)
площа
Канали для відповіді
Канали для на питання
відповіді на «Наскільки багато?»
питання «Що?» (кількісні), або
(категоріальні «Наскільки сильно?»
(впорядковані)
дані)

колір
орієнтація
(відтінок)

позиція об’єм

Рекомендації щодо перегляду візуалізації:


• розглядайте їх з двох боків – які дані використані, до якого типу даних відноситься
кожна з змінних;
• порівняйте які канали візуалізації були задіяні для того, щоб візуально представити
цей конкретний тип даних.
2. Інфодизайн: графіки та ефективність
візуального кодування

 Типи графіків можуть бути застосовані для різних типів задач аналізу:
 Номінальне порівняння
 Еволюція в часі
 Ранжування
 Співвідношення частки і цілого
 Відхилення
 Розподіл
 Кореляція
 Географічні дані

Для визначення, який саме тип нам потрібно показати (який графік
вибрати), потрібно пошукати в описі задачі задані ключові слова, за якими
можна визначити тип зв’язку.
 1. Номінальне порівняння - серія кількісних дискретних значень.
 Серія кількісних дискретних значень, кожна з яких відноситься до своєї категорії, щоб
порівняти їх відносний розмір.
 Змінні - категорійна і кількісна, кодуємо їх як позицію.
 стовпчикові графіки (вертикальні або горизонтальні) або точкові графіки
 2. Еволюція в часі
 Ключові слова: тренд, зміна, зростання (спадання), збільшення (зменшення),
підвищення (пониження), коливання.
 Змінні – впорядкована (час) та кількісна. Кодуємо позицією.
 Лінійний графік - перший вибір. Також, вертикальні стовпчики - не
горизонтальні, в яких час йде по вертикалі, оскільки показуємо значення
впродовж якогось часу зліва направо.
 3. Ранжування
 Ключові слова: більше (менше) ніж, дорівнює.
 Обов’язково використовуємо сортування!
 4. Співвідношення частки і цілого
 Ключові слова: відношення, відсоток, частка.
 Змінні - це категорії (частки цілого) та їх внесок у ціле. Кодування - колір для категорій
та довжина для значень часток, отримаємо стовпчикову діаграму.
 5. Відхилення
 Ключові слова: плюс або мінус, варіація (відхилення), різниця, порівнюючи з.
 Маємо кількість і категорію в даних, використовуємо позицію для кодування.
 Інший варіант - використати різницю у відсотках, для того щоб
об’єктивно оцінити відхилення для різних категорій. Для відхилення у часі
використовують лінійний графік з різницею між показниками.
 6. Розподіл
 Ключові слова: частота, розподіл, концентрація, нормальний розподіл (крива
Гауса, крива Белла).
 Графік розподілу показує, наскільки часто значення кількісної змінної
зустрічаються вздовж всього діапазону своїх значень, від найменшого до
найбільшого.
 Зазвичай, весь цей діапазон розбивається на рівні інтервали і для кожного
інтервалу рахується скільки разів або який відсоток кількісна змінна
потрапила в цей інтервал. Для такої задачі найчастіше використовується -
гістограма.
 Багато розподілів показують за допомогою лінійного частотного полігона
або бокс - графіка.

 Бокс дозволяє показати одразу розмах значень, найбільше і найменше


значення конкретного розподілу, медіану та діапазон куди потрапляє 50
відсотків усіх значень (і відповідно 25 та 75 процентилі).
 Бокс - графік - один із найбільш ефективних способів показати одразу багато
розподілів різних величин на одній діаграмі.
7. Кореляція
 Ключові слова: зростає разом з, падає разом з, змінюється разом з,
викликане, причина якого, слідує за.
 Щоб показати зв’язок між парами кількісних змінних, використовуємо
точковий графік.
 8. Географічні дані
 Ключові слова: географія, локація, де розташоване, регіон, територія,
країна, місто, область тощо.
 Способи кодування – розмір точки, інтенсивність її кольору та ширина для
кількісних даних.

Приклад 1. інтенсивніть кольору для різних гео-регіонів;


Приклад 2. лінії різної ширини та інтенсивність кольору
 Візуалізація - комплекс методів подання вихідної інформації і результатів аналізу
даних в найбільш зручній для сприйняття та інтерпретації формі.

Загальна візуалізація - звичайне візуальне уявлення кількісної інформації в схематичній


формі. До цієї групи можна віднести всім відомі кругові та лінійні діаграми, гістограми і
спектрограми, таблиці і різні точкові графіки.
СПОСОБИ ВІЗУАЛІЗАЦІЇ

Спеціальна візуалізація - використовує специфічні форми подання інформації – карти,


полярні графіки, графіки з паралельними осями, діаграми Ейлера та ін.

Концептуальна візуалізація - дозволяє розробляти складні концепції, ідеї і плани за


допомогою концептуальних карт, діаграм Ганта, графів з мінімальним шляхом та інших
подібних видів діаграм.

Стратегічна візуалізація - переводить у візуальну форму різні дані про аспекти роботи
організацій. Це всілякі діаграми продуктивності, життєвого циклу і графіки структур
організацій.

Метафорична візуалізація - використовується для представлення інформації у вигляді


геометричних фігур та їх композицій (наприклад, значення ознаки представляються колами
різного розміру).

Комбінована візуалізація дозволяє об'єднати кілька складних уявлень в одну схему.


3. Функція plot()
 Базовий пакет в R - функція plot().

plot(x, y, type = "p", xlim = NULL, ylim = NULL, log = "", main = NULL, sub = NULL,
xlab = NULL, ylab = NULL, ann = par("ann" ), axes = TRUE, frame.plot = axes,
panel.first = NULL, panel.last = NULL, asp = NA, ...)

 type: "p" – точки; "l" – лінії; "b" – лінії та точки; "c" – лінії з розривами; "o" – точки поверх ліній; "h" –
гістограма; ...
 xlim та ylim – визначають границі для абсциси та ординати,
 main – заголовок графіку,
 sub – підзаголовок графіку,
 xlab – назва осі Ох,
 ylab – назва осі Оу,
 ann – визначає, чи відображаються підписи,
 axes – визначає наявність осей,
 asp – пропорція між шкалою по х та по у
Приклад

 Використовуємо дані щодо швидкості виведення


індометацину з організму людини. Індометацин є одним з
найбільш активних протизапальних препаратів. В
експерименті взяли участь шість піддослідних.
Результати цього дослідження входять до базового
набору даних R і доступні:

змінні:
• subject - номер піддослідного
• time - час з моменту введення препарату (год)
• conc - концентрація препарату в крові
1. Залежність концентрації індометацину в крові:

2. Графік середніх значень концентрації індометацину кожної часової точки.


 1. Аргументи xlab та ylab - зміна назв осей X та Y відповідно:

 2. Аргумент type - змінює вигляд точок на графіку:


 3. Аргументи xlim та ylim - розмах значень кожної з осей графіка. За
умовчанням вони обидва набувають значення NULL - у разі розмах вибирається
програмою автоматично.
 4. Аргументи axes та ann - відображення осей та їх назв відповідно.
 5. Аргумент main - створення назви графіка. За замовчуванням назва
розміщується у верхній частині малюнка:

 6. Аргумент grid – додати сітку до графіку:


 Ви можете змінити розмір (pch) та
тип (cex) піктограми за допомогою
параметрів.
4. Графічна бібліотека ggplot2 та її можливості
 ggplot2 – пакет для створення практично будь-яких графіків, та експорту у
векторний формат, для подальшої роботи з ними.
https://cran.r-project.org/web/packages/ggplot2/index.html
install.packages ("ggplot2")
library(ggplot2)

ggplot(data, mapping=aes()) + geometric object)

Аргументи:
 data: набір даних, який використовується для побудови графіка
 mapping: керування віссю x і y
 + - продовження читання коду. Це робить код читальним, розбиваючи його на час
тини.
 geometric object - тип графіка:
 point: `geom_point()`
 bar: `geom_bar()`
 line: `geom_line()`
 histogram: `geom_histogram()`
Приклад

 Набір даних beaver1 – дані температури тіла бобрів (вбудований


датасет в R).
1. Лінійні графіки (line plots)
 Візуалізація динаміки температури тіла бобрів протягом часу.
 Додамо точки до графіку (щоб отримати точки, з’єднані лініями).
 Змінимо кольори та типи точок і ліній.
 У нашому наборі даних маємо змінну activ - активність бобрів (0 - не активний,
1 - активний). Побудуємо два лінійних графіка в одній площині: один для
неактивних бобрів, другий для активних.

# group – групування по змінній activ, щоб отримати 2 окремих графіка


# color - щоб різні групи точок були різного кольору (залежно від значень activ)
 Чому графік правильний, а його легенда така дивна?
 Відредагуємо тип змінної activ.
 Зміна кольорів груп за допомогою шару scale_color_manual.
 За допомогою шару scale_color_manual змінимо назви груп, що вказані у
легенді.
 Змінимо заголовок легенди.
 Підписуємо вісі та додаємо заголовок графіку.
 Змінимо тему графіка (theme).
 За замовчуванням графік побудований на сірому тлі, але фон можна зробити,
наприклад, білим (bw: black-white) або темним (dark).
 Додаємо ще один шар з темою.
 Бібліотека ggplot2 включає вісім тем:
1) theme_bw()
2) theme_light()
3) theme_classis()
4) theme_linedraw()
5) theme_dark()
6) theme_minimal()
7) theme_gray()
8) theme_void()
2. Гістограми (histogram)
 Гістограми побудовані для візуалізації форми розподілу кількісної змінної.
Побудуємо гістограму для температури тіла бобрів:
 Зміна шагу гістограми – ширини стовпця.
 Виствимо крок (binwidth = 0.1):
 Зміна кольорів стовпців.
 Додаємо допоміжні вертикальні чи горизонтальні лінії.
 Наприклад, відобразити значення частоти, що дорівнює 15:
 Відобразити медіану (вертикальна лінія) - функція geom_vline():
 Гістограми можна будувати окремо для різних груп спостережень,
залишаючись при цьому в межах одного графіка.
3. Графік щільності розподілу (geom_density())
• Під графіком додаються палички - позначення спостережень (скільки
спостережень сконцентровано у тій чи іншій частині графіка).
 Накласти згладжений графік щільності (без заливки) на гістограму
4. Коробчастий графік Box plots
 Звичайний box plots
 Порожня вісь х та групування в group

 Групування по осі х
5. Скрипкова діаграма (віолончель)
5. Приклади графіків розсіювання (scatter plot) та бульбашкового
(bubble plot)
 Файл wgi_fh.csv містить набір даних показників якісного державного управління
(Worldwide Governance Indicators) та індексу від Freedom House (найстаріша неурядова
організація у США, яка займається поширенням та захистом демократії та свободи по
всьому світу) за 2016 рік.
 Опис змінних:
 X - id країни;
 country – назва країни;
 cnt_code – код країни;
 year - рік;
 va - індекс Voice and Accountability (Голосування та підзвітність);
 ps – індекс Political Stability and Lack of Violence (Політична
 стабільність і відсутність насильства);
 ge – індекс Government Effectiveness (Ефективність роботи уряду);
 rq - індекс Regulatory Quality (Якість регулювання);
 rl - індекс Rule of Law (Верховенство права);
 cc - індекс Control of Corruption (Боротьба з корупцією);
 fh – індекс Freedom Rating від Freedom House.
http://info.worldbank.org/governance/wgi/Home/Documents
 Побудуємо діаграму розсіювання за такими змінними:
 індекс Voice and Accountability (va, Голосування та Підзвітність)
 індекс Rule of Law (rl, Верховенство права).
 Можемо накласти на цю діаграму еліпс розсіювання, щоб було простіше
судити про напрям і силу зв'язку:

 Додамо регресійну пряму, яка ілюструватиме, наскільки змінюється


значення індексу Voice and Accountability зі збільшенням індексу Rule of Law
на одиницю:
 Bubble plot дозволяє робити графік «об'ємним».
 На діаграму розсіювання додамо значення ще однієї змінної.
 Зробимо розмір точок на діаграмі розсіювання залежним від значень третьої
змінної!
 Більше того, можна додати і четверту змінну — зафарбувати точки на графіку
різним кольором, залежно від значень ще однієї змінної.
 Побудуємо діаграму розсіювання для індексів Voice and Accountability і Rule of
Law, враховуючи при цьому значення індексу Freedom House (fh) в державах,
що нас цікавлять.
 Додамо факторну змінну в наш набір даних для значень Freedom House (Free,
Partly Free, Not Free) і побудуємо бульбашкову діаграму різнокольоровою.
 Графіки можна будувати за групами так, щоб графіки для кожної групи були в
окремому осередку (фасетці) - шар facet_wrap().
5. Збереження графіку на диску
 Функція ggsave («ІМ’Я ФАЙЛА») – збереженя графіку на жорсткому диску.
Графік можна зберегти у робочій каталог.

directory <-getwd()
directory

ggsave("my_plot.png")
Збереження графіку на жорсткому диску за допомогою
інтерфейсних засобів RStudio

You might also like