

















Ще одна версія графіки про середній вік першого шлюбу в Україні.
Так звана tilegrid map - суміш таблиці та карти. Використовується в якості альтернативи хороплетним картам.
Тут все ще зберігається кодування інформації за допомоги кольору, але всі полігони однакового розміру, що має спростити зчитування інформації.
З іншого боку, спершу треба звикнути до цієї абстракції географії. Може бути непросто, але не неможливо. Саме тому всі області підписані, на звичайній карті можна було дозволити собі цього не робити.
Однак є питання щодо подальшого використання таких “карт” у меншому форматі, де може не бути достатньо місця для повних підписів областей. Чи є усталений скорочений формат запису областей за аналогією із скороченим записом назв штатів? Якщо нема, то може запозичити формат у доменів областей?
Легенда в цьому конкретному випадку не потрібна, оскільки всюди є підписи значень.
Дивіться також
Середній вік першого шлюбу, візуалізація

Експериментальна, скажімо так, візуалізація. Хочу згодом ще зробити анімацію всього процесу - від стандартної конвенційної візуалізації до ось цього.
Що тут незвичного?
Сітка не по всій площині графіку, а лише там, де є дані. Тобто лише там, де вона насправді. потрібна. Втім, незаповнний простір графіку змушує замислитись про роль сітки не лише як розмітки для орієнтації у площині візуалізації, а й як про спосіб заповнення цієї площині.
Підписи значень на вісях. Значення вісі Х рознесені на дві вісі - верхню і нижню, за тим же принципом - підписи є лише там, де є дані. Значення вісі Y не вирівняні з лівого боку, як це зазвичай буває, а наближені до точок на графіку. Загальна ідея позиціонування підписів на вісях - покращити ергономіку візуалізації.
Легенда, зрощена із підзаголовоком. Можна було б, звісно, заповнювати, дірку зліва легендою, але це трохи суперечить ідеї ергономіки візуалізації, тому легенда тут займає дуже мало місця і не від’їдає його у інших частин графіку.
Сприймайте це суто як експеримент. Дослідження можливостей.

Другий графік на тему споживання електроенергії в Україні. Цього разу - про споживання в розрізі годин доби та місяців. Цікаво спостерігати не лише зміни рівня споживання від місяця до місяця, але й зміщення денних піків навантаження.
Дивіться також
Погода та споживання електроенергії
Код і дані обох проектів на GitHub

Візуалізація на основі даних Укренерго щодо погодинного балансу потужності об’єднаної електроенергетичної системи України та даних щодо середньодобової температури у 2016 році.
Дані щодо температури надаються у розрізі метеостанцій, для цієї візуалізації спостереження з метостанцій усереднені.
Дивіться також
Дані щодо споживання електроенергії на Порталі відкритих даних
http://textura.in.ua/post/164096844805http://textura.in.ua/post/164096844805Sat, 12 Aug 2017 16:21:28 +0300електроенергіяdatavizRstatsggplot2ukraine
Після публікації візуалізації із частотністю слів залежно від позиції у слові отримав кілька порад нормалізувати дані за довжиною слова. Totally makes sense!
Отже, замість оперувати абсолютними позиціями літер у слові, ми тепера оперуємо відносними, зваженими на довжину слова.
Що дає нормалізація в цьому випадку? Всі літери, що вживаються наприкінці слова, в результаті нормалізації отримують однакову позицію - 1, незалежно від довжини слова. Всі літери, що вживаються в середині слова, отримують позицію 0.5, незалежно від довжини слова.
В першу чергу це працює на краще виявлення паттернів закінчень слів. Зверніть увагу на Й, Ь та Я. Ще, здається, можна помітити подвоєне Н.
З технічної точки зору - замість ribbon тепера density, у зв’язку з чим змінилося позиціонування літер. Новий варіант подобається значно більше за попередній. Power of iteration!
Читайте також
Частотність літер у словнику української мови
Частотність літер залежно від позиції у слові
http://textura.in.ua/post/163999465135http://textura.in.ua/post/163999465135Thu, 10 Aug 2017 01:23:33 +0300datavizRstatsggplot2languageukraineukranian
Між іншим, з цього графіку можна дізнатись, що: 1) у словнику української мови нема слів, які починаються з літери “И”; 2) більше ніж в половині випадків літера “П” вживається на початку слова; 3) літера “Я” переважно вживається наприкінці слова.
Частотність літер у словнику української мови

Спонтанне дослідження, зроблене за пару-трійку вечорів. Замислювалось суто як дата-арт, але не склалось. То ж буде набір візуалізацій. Перша - просто про найбільш вживані літери у словнику української мови.
Звісно, може словник це такі собі лабораторні умови і тре було робити на якомусь великому корпусі (на корпусі статей з Вікіпедії, скажімо). Може згодом так і зроблю, цікаво, наскільки результати будуть відрізнятись.

Нещодавно дивився відео з конференції Plotcon, де один з працівників Spotify розповідав, як вони аналізують дані прослуховування музики своїх користувачів, та в який спосіб вони ці дані візуалізують. Там багато цікавого, але зокрема мені подумалось, що я можу спробувати відтворити візуалізацію, яка розкладає всі сесії прослуховування музики на предмет відкриття нових композицій та повторення вже відомих.
Задачі, котрі тут стояли: отримати всі дані щодо прослуховування музики (для цього я використав API сервісу Last.fm, спочатку вправлялвся на своїх даних, потім взявся за своїх друзів); розбити прослуховування на сесії (тут був простий критерій - якщо між двома композиціями є пауза більше ніж в 15 хвилин, тоді вважається, що ці композиції належать до двох окремих сесій; звісно, цю класифікацію ще можна покращувати); класифікувати всі треки на “новий” та “вже відомий” (тут є нюанс, що спершу всі треки класифікуються як “нові”).
Принцип дуже простий - кожна лінія це окрема сесія прослуховування музики. Довжина лінії відповідає кількості композицій у сесії. Положення точки, за якою відмальовується лінія, на осі Y відповідає порядковому номеру композиції у сесії. Положення точки, за якою відмальовується лінія, на осі X визначається статусом “нова” чи “вже відома” композиція. Якщо користувач слухає композицію, котрої ще нема в його базі, лінія зміщується на одну позицію вправо. Якщо користувач слухає композицію, котра вже є в його базі, лінія зміщується на одну позицію вліво. Колір лінії присвоюється на підставі статусу сесії - “відкриття” чи “повторення”, тобто на підставі того, яких композицій - нових чи вже відомих - було більше у цій сесії.
Суто з технічної точки зору для мене стало приємним відкриттям, що у бібліотеці ggplot2 можливо використовувати geom_line() в поєднанні з position=‘jitter’. Ця комбінація власне і визначила значною мірою вигляд візуалізації.
Далі буде.
Відео - Edward Lee, Visualizing 100,000,000 Music Fans

Черговий експеримент із візуалізацією розподілу значень на прикладі погодних даних. Тут головна хитрість була в тому, аби трохи модифікувати geom_step() за рахунок дублювання даних за останній місяць. Ну і ще з підписами цікаво було повозитись.
Більше про погоду
Температура в Києві, розподіл за місяцями 2016 року
Температура в Києві, 1900-2016 рік

Ще одна забавка із бібліотекою geofacet. Принципово ніц нового, але цікава штука в даних - суттєва відмінність даних за 2002 рік від даних за решту років.
Відмінність зумовлена тим, що дані за 2002 рік подаються за результатами перепису населення від 5 грудня 2001 року (аналогічно, дані за 1989 рік подаються за результатами перепису станом на 12 січня 1989 року).
У всі інші роки показники надходять зі “спеціальних обстежень”, актів реєстрації цивільного стану, талонів реєстрації (та зняття з реєстрації) мігрантів.
Як Держстат обчислює медіанний вік населення.
Читайте також
Очікувана тривалість життя в Україні в розрізі вікових груп та статей
Статево-вікова піраміда населення України

Днями Райан Хафен опублікував бібліотеку geofacet, котра є доповненням чи б пак розширенням для ggplot2, і дозволяє створювати власні сітки для розташування панелей із small multiples.
Тобто на додачу до facet_wrap() та facet_grid() додає функцію facet_geo(), що дозволяє впорядковувати панелі із графіками таким чином, що їхнє розташування буде відтворювати розташування регіонів, країн, штатів, областей, міст на карті.
Що це дає?
Створені в такий спосіб візуалізації поєднують в собі властивості карти та графіку, вони дозволяють створювати small multiples із великою кількістю даних і при цьому надають можливість простежувати регіональні тренди.
У самій бібліотеці geofacet є шаблони для розташування американських штатів та країн ЄС. Але на додачу до бібліотеки Райан Хафен опублікував також інструмент Geo Grid Designer, котрий дозволяє конструювати власні сітки для будь-яких топологій. Сконструйовані сітки можна додати в бібліотеку для загального користування.


Стаття “Рада все менше підтримує законопроекти Порошенка”






Пару років тому вже відтворював weather radials за допомоги ggplot2 (саме з тієї візуалізації, можна сказати, і почалось моє захоплення цією бібліотекою і граматикою графіки загалом). Але тоді процес не був стовідсотково reproducible, я трохи наводив лоску у графічному редакторі.
Тепера дійшли нарешті руки зробити все максимально відтворюваним у коді. Майже спортивний інтерес був.
Кожен сегмент на графіку показує діапазон температур впродовж доби, колір сегменту позначає середньодобову температуру. Дані - за 2016 рік.
Дані отримані через АРІ Weather Underground.
Код для генерації візуалізацій на Github.

Хтів зробити цю візуалізацію ще пару років тому, навіть чернетка була готова, але все ніяк не був задоволений результатом. Нарешті знайшов час оновити дані і переробити графіку. Справу закрито.
Візуально - все просто і ніц особливого, для кожної вікової групи показуємо, умовно кажучи, “скільки лишилось” жити (умовно, бо ж це “очікувана тривалість життя” все ж таки).
Тепера ще тре зробити розподіл померлих за віком.
Дані - із статистичного щорічника “Населення України”, він в pdf, але Tabula рятує.