21 заметка с тегом

пример

55 работ участников «Один раз увидеть»

В том году закончился конкурс ОРУ (один раз увидеть). Спасибо организаторам и все участникам, было круто. Вот разбор работ и моя последняя работа. Делал её из отпуска на коленке, но считаю, что самая это моя самая сильная работа из всего конкурса. Не успел только картинки пожать, чтобы быстрее грузилось. В во время реализации узнал про «новую» фишку размеров в css c помощью vw и vh. Очень удобно и полезно для адаптивности визуализаций и приложений в вебе.

14 января   Один раз увидеть   пример   табло
15 декабря   Один раз увидеть   пример   табло
15 декабря   Один раз увидеть   пример

Лолипоп чарт с осью времени в Табло

У Кати, одного из участников курса, был вопрос — как сделать «лолипоп» чарт c временем по оси икс.

Что хотелось получить в итоге

У Кати были очень интересные данные о смертных казнях в штате Техас. Просто потрясающий набор с огромным количеством деталей вплоть до цвета волос и глаз заключенных, а так же их предсмертных речей.

Данные хранились в CSV, когда открываешь их в Табло получается фигня:

Чтобы это исправить идём в настройки парсинга файла и выбираем в качестве разделителя запятую:

Раз и данные прочитались как надо:

Кстати, сначала пошёл исправлять такое через Экслеь, но это не сработало. Эксель неправильно кушает эти данные из-за наличия запятых в предсмертной речи.

В этой таблице даты хранятся в широком формате. Это не удобно, исправляем формат на длинный:

Подробнее про длинный и широкий формат в этой статье.

После функции pivot наши даты разместились в двух столбцах с названиями Pivot Filed Values и Pivot Filed Names:

В Values хранятся значения дат, а в Names — тип даты (дата рождения, обвинения, взятия под страду и дата смертной казни). Переназовём поля в Date и Date type:

Такой формат данных очень удобен для табло. Но теперь задваиваются (точнее зачетвиряются =) ) строки:

Тогда когда мы будем подсчитывать кол-во смертников, складывать сумму лет проведенных в тюрьме и т. п. мы будем получать неверный результат. Чтобы этого избежать можно продублировать источник (надо было сделать заранее) и в одном источнике сделать pivot, а в другом нет. Тогда источник с pivot будем использовать только для визуализации lolipop, а другие для других графиков. Делается, например, здесь:

Вернемся к лолипопу. Расположим поля в области визуализации, чтобы получить точки лолипопа. Отфильтруем строки данных, для которых нет всех данных.

Теперь нам надо добавить палочки между точками. Это делается довольно хитро. Для этого будем использовать визуальный атом в виде гант чарта. В отличии от обычных баров и засечек у этого визуального атома в Табло есть начало координат (где расположить бар на оси) и размер бара (его ширина).

Чтобы «закрасить» растояние между точками, создадим расчетное поле дублирующие даты и изменим ему тип данных на число с запятой. Это нужно чтобы мы потом могли применить к этому числу Quick Table Calculation, для дат его применять нельзя. Ещё надо перетащить копию дату в Measures.

Создадим ещё одну ось с датой и объединим её с предыдущей через dual axis:

Не забудем синхронизировать оси:

Теперь зададим, чтобы размер наших меток ганчарта зависел от копии даты:

Добавим быстрое Quick Table Calculation для подсчета разницы между точками.

Теперь настроим этот расчет:

Сделаем так, чтобы Табло рассчитывал разницу к предыдущей точке по дате для каждого типа даты:

Теперь мы получили разницу между точками, но она откладывается вправо:

Чтобы это исправить добавим в расчетное поле минус.

Вуаля! Подстроим размеры ганчарта и готово.

На таком графике сразу видно много интересного:

15 декабря   инструкция   пример   табло

Население России с 1926 по 2017 год

Александр Богачев и Андрей Дорожный, которые ведут в телеграмме каналы «Чартомойка» и «Дата публикации» организовали аналог Makeover Monday, ну или придумали сами. В любом варианте это очень интересный конкурс для датагиков и журналистов данных — спасибо!
Вот примеры работ с прошлой недели про моего любимого Дудя.

Тоже решил поучаствовать. Сделал небольшую визуализацию:

А ещё у нас в декабре курс по визуализации. Таня расскажет про теорию, я про Табло, а Дима Семьюшкин про d3.js.

1 ноября   Один раз увидеть   пример   табло

Возрастно-половая пирамида

Сегодня посмотрим на возрастно-половую пирамиду. Давно хотел сделать этот график. Наконец-то нашёл данные с 1995 года до 2050 (прогноз). Вот, что получилось:

Я использовал для визуализации прием Тафти — Small multiple. Он даёт классный обзор на все данные. Например, видно, что форма пирамид, почти одинаковая внутри континентов.

Если сгруппировать по континентам и запустить анимацию:

У России пирамида необычной формы и здорово видно, что наши мужчины живут значительно меньше женщин. Например, 80-90 летних женщин в 4 раза больше, чем мужчин.

Если включить абсолютные значения для оси икс видно, что по прогнозам Россия (RS на графиках) останется самой населенной странной в Европе.

Поиграть с прототипом здесь. К сожалению, из-за объема данных, всё очень тормозит. Ну, на то он и прототип.

22 октября   пример   табло

Billboard Hot 100

Сегодня был на джем-репетиции. Играл на басу, гитаре и клавишах:

Поэтому и анализ данных сегодня тоже про музыку. Я взял набор данных о хит параде Billboard Hot 100.

Вот, ещё одна из заготовок, которая у меня получилась. По клику на гифку, переход на прототип.

Цветом подсвечены пути песен, которые провели в чарте больше полугода. Фиолетовым — которые провели более полугода и попадали в топ 3 песен. Настраивая кол-во недель, которое песня провела в чарте, чтобы подсветить её на графиках можно найти множество закономерностей. Четко видно, что «долгоиграющих» хитов становиться всё больше, а скорость их взлета всё круче.

Можно найти любимого артиста и посмотреть его песни. Круто видно, как у певцов на пике карьеры хиты сменяются одни за другими в чарте:

Есть песни, которые стартовали сразу из середины чарта, а есть которые долго поднимались на вершину и оставались в чате больше года:

Интересно, что до 1995 года, в чарте не было ни одной песни, которая задержалась бы в нем дольше чем на 52 недели (1 год). Прям видно паттерн небольших холмиков по 10-20 недель.

Получился удачный каркас, видно историю каждой песни и общую картину.

В источнике данные были с 1958 года, но, к сожалению, табло отказывается заливать такой объем данных на табло-паблик. Поэтому не влезли главные долгожители этого чарта — Beatels. И это очень странно, так как вообще говоря, таких ограничений нигде не описано.

2017   пример   табло

Сколько времени играют в игры

Сегодня ещё одна зарисовка не тему игр. Только подойдем не со стороны игр, а со стороны пользователей. Я взял набор данных о 10 165 пользователей сервиса steam. Вот, что у меня получилось:

2017   пример   табло

Обзоры игр с сайт ign.com

Сегодня решил посмотреть набор данных с kaggle.com о играх для компьютеров и приставок.

Вот что получилось, по клику в картинку реальный прототип. Оформить элементы управления, подписи и т. п. до конца не успел. Каждый график — распределение кол-ва играм по балам для определенного жанра и года. По оси икс — балы, по игрек кол-во игр. Графики состоят из кирпичиков игр, по клику переход на сайт с обзором игры.

По-моему получился удачный каркас — на одном экране уместилось 12 587 игр, 30 жанров, 20 лет. Видно много всего — распределение жанров по кол-ву игр, распределение игр по балам, наиболее жирные года. А главное можно быстро найти игры с наибольшим рейтингом, скачать и поиграть. =)

2017   пример   табло

Я спросил у Яндекса «Как…»

Альберто Кайро и Симон Роджерс в Google News Lab написали интересную статью, про поисковые запросы в гугл начинающиеся с How to.

Я решил повторить в миниатюре их эксперимент и собрал 40 тысяч записей из Яндекс Wordstat с похожими запросами.

Вот, что у меня получилось. Визуализация встроена прямо в статью — чтобы подгрузилась надо подождать. Кайфово смотреть в полноэкранном режиме:

Treemap и карта управляют друг другом и позволяют находить закономерности. Например, чаще всего в стране ищут «как быть счастливым», и это печально. В Москве такой запрос менее популярен, чем по стране, зато гораздо более часто спрашивают «как быть здоровым»:

А в Питере аномальный спрос на серил «Как я встретил вашу маму»:

И только в городе Усинске сначала хотят похудеть, а потом уже быть счастливыми:

Вообще с данными получилась какая-то белеберда. Мне плохо вериться, что реально вся странна спрашивает про счастье. Я вбивал в Wordstat слова без дополнительных операторов типа кавычек, скобок и восклицательных знаков. Если знаете как делать это более правильно — пишите в комментариях, буду благодарен за подсказки.

2017   пример   табло

Разбор визуализации о количестве калорий в фастфуде

В этот раз рассмотрим визуализацию Нейтана Яу о количестве калорий в фастфуде.

Вообще сама идея визуализации мне очень понравилась. Я сам люблю зайти в фастфуд заведения и перекусить. На картинке сразу видно, где самое «жирное» место и самый большой выбор блюд.

Что не понравилось:
— Квадратики которые наслаиваются друг на друга.
— От верхних ресторанов далеко тянуться глазами до значений на оси.
— Нет возможности понять удельную калорийность продукта. Калории указаны на порцию, а не 100 грамм.
— Нет интерактивности и знакомых ресторанов. =)

Исправим всё выше перечисленное.

Для начала найдём данные. Нужны рестораны, список блюд, их категория, калорийность и размер порции. Самым правильным было бы скачать официальные меню. Но они есть не у всех ресторанов и информация не всегда структурирована одним образом. Я нашёл несколько сайтов про питание, и выбрал один из них, показавшийся наиболее достойным.

Скопировал данные в гугл таблиц:

Немного магии и форматирования и получил чистые данные:

Подключил данные к Табло:

Исправил те замечания, которые у меня были к исходной визуализации. Вместо квадратиков использую засечки и сделал переключатель [на порцию/на 100 грамм]. Ещё Кирилл Беляев помог мне подобрать цвета и подсказал с версткой.

Живой прототип — http://revealthedata.com/examples/fastfood/

В этом прототипе я использовал два приема работы с Табло. Первый позволил мне сделать переключатель оси калорийности, а второй — продублировать эту ось наверх.

Для создания переключателя я создал параметр, в котором хранится массив возможных осей:

Затем создал рассчитываемое поле и записал туда свитч-функцию. Далее использовал это поле как ось для графика:

Осталось только отобразить параметр и выбрать его внешний вид:

Для того, чтобы продублировать ось икс наверх, я ещё раз добавил поле в колонки. Затем использовал двойные оси и скрыл верхний заголовок. Таким образом, мы показываем точки друг над другом, но этого не видно, так как выбран один и тот же параметр. Это кстати позволяет делать ещё много разных интересных «хаков», но о них в следующий раз.

17, 18 и 19 июня пройдет наш курс по визуализации данных. На нём расскажу о том как использовать Табло для визуализаций и какие применяем при этом приемы и хитрости. Таня расскажет про алгортим визуализации, а Дима про d3.js. Будет интересно, обещаю!

UPD: Добавил поиск по блюдам.

2017   пример   разбор   табло
Ранее Ctrl + ↓