Или как я тестировала инструменты визуализации данных в поиске оптимального для передачи инсайтов.

комикс киселевой натальи - eolay
комикс киселевой натальи - eolay

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

Мне тут потребовалось сделать одну историю на основе данных для студентов, и хорошо бы они ее тут же смогли повторить в некоем простом инструменте у себя на ноутбуке.

Я начала сомневаться, в каком инструменте ее лучше будет показать. И начала перебирать варианты. 

Казалось бы, задачка супер простая! Но нет. У каждого хорошего инструмента есть ограничения, которые, как выяснилось, просто не позволяют ее решить!

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

Итак, дано

Тестовый набор данных (сгенеренный ChatGPT) об эффективности сотрудников и о том, как эта эффективность падает в зависимости от срока работы в компании. 

Имеем информацию об отделе, эффективности, длительности работы, количестве отгулов, о рабочих часах нескольких сотрудников. 

Чтобы увидеть проблемы с эффективностью нам нужно показать взаимосвязь между двумя числовыми переменными. Легко! Скаттерплот (он же график рассеяния) нам решит эту задачку на раз-два!

Но! Нам нужно не просто построить диаграмму, но и оформить ее таким образом, чтобы вывод был ясен. Вот с этим у нас и возникнут проблемы…

И так! 

Заказываем рукава и прыгаем в первый попавшийся инструмент, что может пойти не так?


1. Тестируем DataWrapper

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

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

Но пойдем по порядку.

1.1 Загружаем данные

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

загрузка данных в DataWrapper
загрузка данных в DataWrapper

1.2. Проверяем и описываем

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

Проверка данных в DataWrapper
Проверка данных в DataWrapper

1.3. Визуализация

И вот самый вкусный этап! Пробуем наконец собрать нашу диаграмму рассеивания. Выбираем ее в списке и!.. Программа шалит и показывает нам ариал-чарт. Что ж, это не страшно, идем в пункт Refine — именно в нем будем настраивать график. 

Визуализация данных в DataWrapper
Визуализация данных в DataWrapper

Вот, тут мы должны выбрать какая переменная будет отвечать за какую ось, и уже получим что-то вполне себе похожее на скаттерплот (диаграмму рассеяния).

Визуализация данных в DataWrapper
Визуализация данных в DataWrapper

Теперь добавим переменную отдела — в цвет. Позже я отказалась от этого, потому что это мешало воспринимать информацию. Мне хотелось добавить данные по отделам — потому что в отделах разная ситуация, и это часть выводов на этих данных. Но для этого мне нужно получить 4 таких графика, а за один раз DataWrapper не может мне такое дать. 

А четырежды заливать данные, обрабатывать их отдельно, а потом собирать в другом продукте… не вариант.

Настройка визуализации в DataWrapper
Настройка визуализации в DataWrapper

Вот наша пестрая заготовка готова — и самое ценное — это конечно же линия тренда! Она как раз и дает возможность понять, что с эффективностью что-то не так. До этого мы лишь могли догадываться о проблеме. Теперь мы ее четко видим.

1.4. Добавляем тексты

И вот мы уже способны донести какие-то выводы с помощью этого графика. Как видите, в разделе Annotate можно написать заголовок, некоторые выводы, примечания, указать ссылку на данные — что очень круто для диаграммы в общем доступе (но для примера я делать этого не буду).

Оформляем график текстом в DataWrapper
Оформляем график текстом в DataWrapper

1.5. Результат

Результат решения задачки в DataWrapper
Результат решения задачки в DataWrapper

Что не устроило:

  • Нет разделения на несколько графиков

  • Нельзя красиво выделить цветом одну точку данных (можно некрасиво)


2. Тестируем Excel

Я считаю Excel самым демократичным датавиз-инструментом с невысоким порогом входа. Во-первых, он и так много у кого установлен, многие в нем работают. И на удивление, настройки диаграмм в нем тоже неплохие.

…Спойлер: до некоторых пределов.

DataWrapper, конечно, неплох, но мне все покоя не давала идея разложить данные на 4 графика. Так что время нырять в настройки продукта от MS!

2.1 Делаем график

Так как данные у меня уже были в екселе, никуда импортировать их не нужно — как удобно! Я все больше надеюсь на этот вариант! И вот, упростив таблицу, выбрав в разделе Insert (Вставка) нужный мне тип диаграммы, я получаю график.

Выбираем данные и тип визуализации в Excel
Выбираем данные и тип визуализации в Excel

2.2. Оформление графика

Мне нужно как-то показать, что на графике падает эффективность. Но по этой диаграмме не очень понятно — падает ли что-то вообще куда-то. Гуглю, как добавить линию тренда, и легко добавляю ее через плюсик в оформлении графика.

Добавляем линию тренда в Excel
Добавляем линию тренда в Excel

В целом, получается симпатично. Но помня про желание получить несколько графиков, начинаю копаться, как это попроще тут сделать. 

2.3. График на сводных таблицах

Поняв, что мне нужно как-то взаимодействовать с данными, чтобы увидеть эти 4 графика (можно конечно сделать отдельные 4 таблицы, но так себе автоматизация), я думаю применить сводные таблицы и графики на их основе. Не самый удобный инструмент, но все же умеет многое.

Что ж. Не судьба, сделав сводную таблицу и попытавшись вставить график или через Insert или через PivotChart — я натыкаюсь на отказ екселя со мной работать. 

Побившись немного головой о стену, пробуя через фильтрацию обычной таблицы получить четыре графика или как-то иначе обойти проблемы, я бросаю это дело… Печально. Может быть, кто-то знает, как тут лучше настроить? Или это действительно ограничение системы?

Проблемы с графиком на сводных таблицах в Excel
Проблемы с графиком на сводных таблицах в Excel

Что ж, разделить на отделы у меня не получилось в Excel, хотя в остальном инструмент неплохо настраивается, в нем даже можно оформить график и аннотации и сделать цветовое выделение (даже в DataWrapper с этим все не очень хорошо). Но увы, конкретно с диаграммой рассеивания какие-то проблемы.

Что не устроило:

  • Проблемы с диаграммами рассеяния в сводных таблицах

  • Негибкая работа с выбором данных для визуализации


3. Тестируем Power BI

Тоже люблю этот Business Intelligence инструмент, в нем можно сделать отличные дашборды и у него довольно удобный интерфейс, он бесплатен до некоторых пределов, а также прекрасно умеет ворочать данными! Ммм!

Так что, конечно же я решила попробовать сделать что-то и на нем. Правда, сразу скажу, я не особо надеялась на успех, потому что хоть пример может получиться и неплохим — в Power BI довольно достойная настройка графиков — но у моих учеников на ноутбуке точно его не будет. А установка такого тяжелого серьезного софта — дело непростое, к тому же он не работает на Mac — грустно да?

Но во мне уже взыграл азарт, так что тестируем и его!

3.1. Делаем графики

Power BI интерфейс не сильно отличается от екселя, залить чистые данные в него довольно просто (кнопка Excel в главном меню вам в помощь), а дальше получаем список переменных справа и с помощью блока Visualizations работаем с графиками.

У Power BI есть и русская версия, к слову. 

Итак, выбираем скаттерплот, выбираем нужные переменные, X, Y и отделы в Legend! Красота! Еще я могу добавить например отгулы в размер кружка, но мне это так и не пригодилось. Так что в финальной версии стоит это все убрать.

Визуализация в Power BI
Визуализация в Power BI

Красота! Все есть, я уже практически открываю шампанское.

Ибо разделить на 4 графика эту визуализацию в Power BI довольно просто — копируем график 4 раза и в фильтрации каждого указываем нужный отдел. И разместить на листе их можно как угодно, чтобы потом сформировать симпатичный отчет.

Посмотрите, какая красота получается. Цвета больше не представляют собой мешанину, и мы наконец-то видим 2-й инсайт — не все отделы страдают одинаково! Отдел инновации не подвержен разрушительному влиянию времени. 

Группа графиков в Power BI
Группа графиков в Power BI

3.2. Аналитика

Остался один небольшой штрих. Я конечно же вижу, что в трех из четырех этих графиков есть некоторый тренд на падение эффективности, но здорово бы было его подчеркнуть.
И тут мы ударяемся лбом в стену, потому что именно для скаттерплота в Power BI нет линии тренда! Есть разные другие замечательные линии — константы, средние и прочие, но не то, что мне нужно. В Power BI тренд есть, судя по всему, только для временных рядов. Увы, поплакали, собрались, идем дальше!

Отсутствие линии тренда для данного типа диаграмм в Power BI
Отсутствие линии тренда для данного типа диаграмм в Power BI

3.3. Добавляем тексты

И все-таки инструмент для презентации выводов тоже хороший. В нем чуть меньше контроля над графикой, чем в Екселе, но зато намного больше возможности фильтрации, да и данными проще ворочать. 

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

Если бы были тренды нормальные — то могло бы выглядеть как-то так.

Итоговый отчет в Power BI
Итоговый отчет в Power BI

В итоге отмечу минусами:

  • Отсутствие аналитики (нет инструмента Trend Line для диаграммы рассеяния)

  • Нет настройки отдельных точек данных


4. Тестируем Tableau

Как только проблемы с Power BI, куда мы идем? Правильно, в другой BI инструмент, в его верного конкурента Tableau! Я уже давно забыла о студентах и низком пороге вхождения, теперь это дело чести!

На самом деле, порог вхождения в эти пакеты не такой и высокий, но все же требует времени на установку софта, поэтому для учебных целей конечно хороши Ексель — который есть у всех, Google Sheets и онлайн инструменты.

Но я знаю, что Tableau точно умеет в тренд-лайнс, так что смело загружаю туда набор данных! Понеслись!

4.1. Загружаем данные

Загрузка данных в Tableau из екселя тоже довольно простая, если у вас плоская узкая таблица без всяких проблем с форматами — то все будет готово сразу. Будьте осторожны с датами — они по умолчанию могут быть в американском формате (M/D/Y), даже если у вас в ексель все хорошо было настроено.

На этом этапе мы так же можем сделать что-то простое с данными — переименовать столбцы, сделать небольшой пивот, проверить формат. Пока все прилично, а дат у меня тут нет.

Загрузка данных в Tableau
Загрузка данных в Tableau

4.2. Визуализация

Диаграмму рассеяния сделать довольно просто - берете переменные из списка слева и помещаете в строки Columns и Rows — и ваши переменные станут Y и X осями соответственно. В нашем случае это Стаж и Эффективность. 

По умолчанию ваши данные будут агрегированы (появляется значок SUM перед ними), нам это никак не мешает, потому что у нас уникальные точки данных — неважно, усредняем ли мы их или складываем. 

Строим график в Tableau
Строим график в Tableau

Следующий шаг — добавить уровень детализации — тогда вместо 1 большой точки мы получим по точке на каждого сотрудника — для этого фамилию сотрудника я кидаю в раздел MarkDetails.

Вот теперь мы видим уже что-то максимально похожее на диаграмму рассеивания.

Получаем диаграмму рассеяния в Tableau
Получаем диаграмму рассеяния в Tableau

4.3. Аналитика

Прекрасно! Еще пара трюков — я заменю колечки на кружочки в разделе Marks поменяв Automatic на Circles, добавлю количество отгулов в размер кружочка (Size в разделе Marks) и скорее в раздел Analytics, чтобы получить вожделенную линию тренда! 

Отлично. Она тут есть.

Возможность добавить линию тренда в Tableau
Возможность добавить линию тренда в Tableau

Еще классный момент в Tableau, что при наведении мышкой на линию тренда, мы можем увидеть значение P-value, которое важно нам, если мы хотим понять, насколько полученные выводы достоверны.

P-value при наведении мышкой на линию тренда в Tableau
P-value при наведении мышкой на линию тренда в Tableau

4.4. Группа графиков

Теперь я сделаю наконец то, что я так давно хотела — покажу тренды на разных графиках для каждого отдела.

И вроде бы я получила то, что требуется. Но мне не очень понравились склеенные графики по горизонтали. Я добавила цвета и прозрачности кругам, но все еще не была довольна результатом.

От одной мысли о необходимости бесконечно настраивать линии сетки и отступы между диаграммами у меня сводило скулы. А еще мудрить с служебными полями, чтобы поставить графики в сетку 2х2.

Люблю Tableau, но форматирование линий там просто жесть.

Группа графиков в Tableau
Группа графиков в Tableau

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

Хорошим плюсом Tableau является то, что можно добавлять метки аннотаций около точек данных — вы можете видеть это на примере ниже.

Итоговый дашборд с графиком в Tableau
Итоговый дашборд с графиком в Tableau

Но я уже не старалась оформлять этот плакат, так как мне хотелось более гибкого управления отдельными графиками отделов. Tableau дает возможность реализовать мои пожелания, но мне не хотелось тратить на это время, которое необходимо для этого.

Запишу в минусы:

  • Долгая настройка деталей

  • Не гибкая работа с группой графиков


5.1. Тестируем RAWGraphs + Figma

Что ж, этот эксперимент давно вышел за рамки тестового задания для студентов. И большая часть из инструментов выше решило задачку в том или ином виде. Мне не хватало гибкости, так что я решила — хочется гибкости — надо идти на нижний уровень детализации — в векторную графику!

Прекрасный и невероятный RAWGraphs — дает возможность собрать по шаблону сложную диаграмму, скачать ее в SVG формате, а потом обрабатывать эти примитивы в любом векторном редакторе! Волшебно же? Я использую эту связку для создания дата-арт проектов, потому что за всей красотой в таких проектах все равно скрываются данные и четкий макет там довольно важное условие.

RAWGraphs — как и DataWrapper — бесплатный и браузерный инструмент, поэтому принцип работы у них похож.

5.1. Загружаем данные

После стартовой страницы попадаем на длинный лист, где сверху вниз мы заполняем нужные параметры — сначала мы можем просто скопировать и вставить свои данные в окошко, или залить их в одном из популярных форматов! Но не во всех.

You can load tabular (TSV, CSV, DSV) or JSON data.

Так что мне пришлось преобразовывать мой ексель в CSV, благо, это делается а несколько секунд. Дальше проверяем, корректно ли форматы воспринимаются программой и мотаем ниже.

Загрузка данных в RAWGraphs
Загрузка данных в RAWGraphs

5.2. Выбор визуализации

Далее нас встречает довольно просторный список сложных диаграмм, которые мы можем попробовать собрать на наших данных. «Попробовать» — потому что для некоторых диаграмм нужен очень непростой формат данных и определенное количество переменных определенного типа.

Но мне некогда отвлекаться на вкусные Бамп-чарты и симпатичные хордовые диаграммы, я выбираю Скаттерплот! Здесь он скрывается под именем Бабл-чарт (пузырьковая диаграмма) так называется усложненная версия скаттерплота, когда размер круга тоже кодирует какую-то переменную. Не во всех программных пакетах эти два типа диаграмм разделяются.

Выбор типа диаграмм в RAWGraphs
Выбор типа диаграмм в RAWGraphs

5.3. Назначение переменных

Самый непростой этап работы в этой программе — если RAWGraphs немного не понравится формат вашей переменной, он откажется с ней работать. Уходите.

Но у меня довольно простая ситуация, так что я легко ставлю свои 3 основные и 1 дополнительную (отгулы) переменные в соответствующие окошки. И заметьте — тут сразу есть раздел Series, который поможет мне разделить графики по разным отделам!

Добавляю подписи с фамилиями сотрудников (чтобы проверить потом данные, если что). Тут же можно добавить отображение все необходимых меток данных. Но мне это не требуется.

Назначение переменных в RAWGraphs
Назначение переменных в RAWGraphs

5.4. Визуализация

Идем дальше — вот он час Х, промотав немного ниже мы видим сразу полученный результат!

Страшный, как смертный грех! 

Где-то за кадром в обморок падает гламурный DataWrapper.

Зато графики расположены приятно — не вплотную, с удобными расстояниями.

Получаем визуализацию группы графиков в RAWGraphs
Получаем визуализацию группы графиков в RAWGraphs

В этом окошке слева мы можем немного все улучшить, настроить цвета, оси, немного привести все в божеский вид… Но делать этого мы не будем. Потому что вместо этого пойдем в самый низ экрана и одной кнопкой экспортируем эту “рыбу” в SVG формат, чтобы потом допилить в прекрасном векторном редакторе (бесплатном и онлайн) Figma!

5.5. Доделка в Figma

Здесь мы можем менять цвета объектов, добавлять сложные элементы дизайна и работать с вектором почти как в Adobe Illustrator.

Поместить туда файл мы можем просто мышкой — Drag&Drop. Получаем вот такую красоту.

Импортируем графики в Figma
Импортируем графики в Figma

Теперь мы будем это все разгруппировываем множество раз, удаляем подложку, меняем шрифты на приличные (Inter например), делаем оси не такие черные и переименовываем их названия. Удаляем фамилии, которые совершенно напрасно я сюда добавила.

Ставим белую подложку и вставляем уже знакомые нам тексты.

Выглядит довольно симпатично, несмотря на довольно плохой исходник, это все делается довольно быстро. 

Но тут мы хватаемся за сердце! Линии тренда! В RAWGraphs их нет!

Все напрасно. Несмотря на прекрасную тонкую настройку, полную свободу работы с формами и прототипом, мы падаем прямо у финиша. 

Увы-увы…

Макет в Figma уже почти готов
Макет в Figma уже почти готов

Конечно, я уже смирилась, что ни один инструмент в полной мере не справится с этой задачкой (а если и справится, то будет стоить мне много времени и нервных клеток — как Excel и Tableau).

Поэтому я пошла на крайние меры — взяла графики из Tableau, сделала их подложкой к этим графикам и срисовала оттуда линии трендов, подогнав масштаб диаграмм. Это было немного унизительно, но я справилась. 

Потому что мне хотелось бы уже получить хоть что-то готовое после всех этих мытарств!

Итоговый макет, где есть линии тренда
Итоговый макет, где есть линии тренда

Вот посмотрите на итоговый результат, дитя трех инструментов по визуализации данных.

Кстати, заметьте, что размеры кругов нам тут не особо нужны, и я нигде не рассказываю, что они означают, так что нужно либо добавить легенду, либо сделать все кружки одинаковыми. Учитывая, что для этого нужно возвращаться в RAWGraphs или рисовать легенду от руки — пойти я на это в рамках этого эксперимента конечно же не могу. 

Также я убрала в итоге цвет отделов, поняв, что цвет мне тут нужен для выделения важных моментов — аномального отдела и проблемных мест. 

Так что все кружочки стали серыми. Это между прочем очень классный прием, всем его рекомендую. Сперва обесцветить диаграмму до оттенков серого, а потом добавить один акцентный цвет.


6. Финал битвы инструментов

Что ж, давайте подведем итоги.

Все эти инструменты прекрасны, и я очень люблю с ними работать, но к сожалению, решить легко и быстро эту задачку не смог ни один из них.

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

  1. DataWrapper — красивый и удобный, для небольших историй на графиках, но вы не сможете настроить ваши графики сверх необходимого минимума, который система сделает за вас. Но чертовски хорошо сделает! С данными вам правда не поможет. Бесплатный, браузерный, умеет в интерактив.

  2. Excel — все его знают, все его любят и ненавидят, у него широкий функционал по работе с данными и визуализациями. Правда, вы можете столкнуться с ограничениями тут и там. Но зато там можно настраивать цвет и стиль каждой отдельной фигуры! Почти как в Figma. Так что не сбрасывем этого парня с корабля, просто учитываем, что со скаттер потом ему что-то не свезло. Минус — ексель стоит денег, но зато почти у всех он есть на работе.

  3. Power BI — вообще во всем хорош и всем на зависть, еще удобнее с визуализациями, чем дедушка Ексель, еще удобнее с данными и сильтфраицей! Но где же он потерял линию тренда, я так до сих пор понять и не могу… Тоже считаю это мелкой особенностью, не выбрасывая этот прекрасный инструмент из своего арсенала. Хотя точная настройка элементов тут трудновата. С выделением отдельных столбцов и точек данных могут быть проблемы. Решаемые, но не всегда. Есть бесплатная версия!

  4. Tableau — очень хороший продукт с тонкой настройкой всего на свете. Ограничен в работе с данными, есть бесплатная версия, которая недавно научилась сохранять файлы на компьютер (что прекрасно!), но вот банально картинку сохранить почему-то не может. И про минусы тонких настроек я  писала выше — когда нужно компоновать графики друг с другом — он немного громоздкий. Хотя я все еще верю, что в нем можно решить мою задачу. Просто.. Не сегодня… и не завтра…

  5. RAWGraphs бесплатный, онлайн и очень простой. Высокие требования к формату данных, выдает вам прототип сложной диаграммы, а дальше делайте с ней что хотите. Подвел меня отсутствием аналитических средств. Увы. Зато потом какую красоту можно с этим прототипом в Figma делать! Все дата-артисты и дата-журналисты любят и ценят этот продукт.

На самом деле все страдания длились буквально один вечер, а статью я написала за вечер следующего дня, так как была полна эмоций!..

Надеюсь, этот текст будет полезен тем, кто работает с визуализацией данных. 

Я рассмотрела тут не все инструменты, а только те, которыми я часто пользуюсь. Всего датавиз инструментов несколько десятков!

Еще, например, многие языки программирования могут неплохо в быстрые графики. Но поверьте, там своих проблем хватает и есть серьезные проблемы со сторителлингом и форматированием. Кому хочется попробовать решить эту задачку в своем инструменте — прикладываю ссылку на источник данных! Кидайте в комменты ваши версии, и пишите, с какими проблемами вы столкнулись. 

А если вы научите меня, как решать проблемы в Excel или Power BI — которые помешали мне доделать их примеры — буду отдельно признательна!

Всем спасибо за внимание, если вас также как меня трогает тема визуализации данных и необходимость преподносить с их помощью некоторые выводы — я веду канал по этой теме — Chatting Charts, буду рада видеть. 

Спасибо что дочитали!

Комментарии (20)


  1. bear11
    11.09.2024 19:52
    +1

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


    1. eolay Автор
      11.09.2024 19:52

      Вот я тоже тут же обосновала такую особенность данных! Хотя датасет делала нейросеть (может, она тоже вложила этот смысл в данные?..) А может быть это чисто рационализация. Но интересный момент!) Сразу можно рекомендаций "учебных" написать - мол делайте работу менее рутинной.


      1. alexhu
        11.09.2024 19:52

        Это какой-то восторженный идиотизм при анализе данных полученных на генераторе случайных чисел.


        1. eolay Автор
          11.09.2024 19:52

          Мы просто шутим) Мне жаль, что вас это так остро трогает. Мы в хабе, посвященном визуализации данных, а не его анализа. Так что не вижу никакой проблемы)


    1. alexhu
      11.09.2024 19:52

      Это фейковые данные - это в начале статьи написано. Какие ещё выводы? - это даже не учебное пособие.


      1. eolay Автор
        11.09.2024 19:52

        Учебные выводы, конечно же) Кроме того, они даны в условии этой учебной задачи. Делать их не надо. Их надо объяснить далекому от темы человеку.


  1. BogdanPetrov
    11.09.2024 19:52
    +5

    За обзор некоторых инструментов спасибо. Но если по сути задачи, то разве не очевидно, что кастомизация мельчайших деталей не будет доступна в большинстве BI-инструментов? На мой взгляд, у них цель немного другая: покрыть 99% потребностей в визуализации. Для всего остального есть D3.js, ggplot2 и тд и тп

    Вот пример кода на R с использованием ggplot2:

    library(ggplot2)
    
    url <- 'https://docs.google.com/spreadsheets/d/1rJL_v0OVTvZpvrCbNJHdSAemrIkcDdBfsoQlrJvEt34/edit?gid=0#gid=0'
    df <- readr::read_csv(gsheet::construct_download_url(url))
    
    ggplot(df, aes(x=Years_At_Company, y=Performance_Rating)) +
      geom_point(aes(size=Absences)) +
      geom_smooth(aes(color=Department), method='lm', se=F) +
      facet_wrap(~ Department) +
      theme_minimal()

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

    Если хочется добавить сопроводительный текст, то можно обернуть это все в R Markdown.

    Скрытый текст


    1. eolay Автор
      11.09.2024 19:52

      О, спасибо за пример на ggplot2! Вышло вполне неплохо. Да, я про языки программирования отдельно отметила внизу статьи. Просто изначально эта задачка планировалась именно для студентов на тему работы с презентацией данными (то есть финальный шаг обработки данных), да и у них на ноутбуках с собой вряд ли были бы языки программирования. К тому же, тонкая настройка графиков кодом без готовых шаблонов занимает много времени. В D3.JS одни оси часа два можно настраивать... библиотеки попроще тоже часто ограничены в функционале. Вот недавно Observable выкатил свои дашборды - может быть там можно настраивать красиво и графики и тексты и общее форматирование. Но это надо пробовать. И да, это опять же не для студентов, увы.


  1. alexhu
    11.09.2024 19:52

    Такие задачи нельзя решать на фейковых данных.

    Если вы учитесь, то формулируется задача, в стилистике "влияние факторов на целевой показатель" и всё это в безликих величинах, а то как написали вы - этого делать нельзя.

    Пропущен этап подготовки данных - данные нужно подготовить для анализа. Для анализа существуют хорошо протестированные программы и уж точно нельзя делать выводов на основании графиков.

    Сейчас у вас кликабельный заголовок, какие-то рассуждения и faker данные. И вывод, что 5 инструментов поломалось на этой задаче. Это не так, всех этих программ не знаю, но уже эксель легко справится с такой задачей, даже если формулы нужно написать руками в ячейки.


    1. eolay Автор
      11.09.2024 19:52

      Мне кажется, мы про разное. Это задачка на дата-сторителлинг. И в условии задачи уже есть выводы, которые надо показать. Задание состоит в том – КАК это сделать, чтобы они были понятны условному HR-директору.

      Сами выводы делать не нужно, этап сбора данных, подготовки и анализа – тут пропущены. Это последний этап – презентация данных стейкхолдеру.

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

      Если сможете решить эту задачку в екселе – пожалуйста, приложите решение (визуально похожее на то, что получилось в 5 разделе). Мне правда нужно. Буду благодарна. Ссылка на датасет – в конце статьи.

      Кстати, если вы специалист по екселю, не подскажете, как шифровать данные цветом в скаттерплоте? Наткнулась на это ограничение неприятное.


  1. ParaMara
    11.09.2024 19:52
    +2

    Нельзя писать «с увеличением падают», по крайней мере по-русски, это подразумевает динамику - вот есть сотрудник, со временем его стаж растёт а эффективность падает. А динамика может быть получена только в динамике, везде всегда всеми. Эти же данные - мгновенный снимок. Лучше писать «с большим менее», это как раз подразумевает снэпшот.

    Многие грешат, типа «эволюция звёздных скоплений» без слова «кажущаяся», что никого не оправдывает.

    В данном случае мгновенно всплывают

    • связь эффективности с возрастом

    • связь эффективности с переходом на лучшую работу

    • динамика качества образования

    Я понимаю, задача модельная, но вдруг идёт тренировка по манипулированию данными?

    Как Notion прославилась, смотрел альтернативы, заинтересовала Silverbullet (не подошла - редактор глючным показался), там отсылка на концепт End-User Programming - так это, оказывается, активно обсуждается прямо сейчас и прямо относится к

    Еще, например, многие языки программирования могут неплохо в быстрые графики

    Языки могут неплохо во всё, а как раз для такого специально придумана Julia. И тут, собственно, моя мысль - при помощи Julia можно легко показать прекрасную интерактивную диаграмму другим пользователям Julia. То же самое относится к Python и даже JavaScript в варианте Node - Deno - Bun. А general public остаётся не у дел, мысль в том, что везде, как всегда, всё чаще и всё больше.

    Кстати, других практически значимых языков я не знаю, ну может быть Racket. Разве 3.5 - многие?


    1. eolay Автор
      11.09.2024 19:52

      О спасибо за уточнение, такие нюансы непросто считывать.

      Ну в данном задании не нужно делать анализ данных, вывод, который нужно «презентовать» зрителю дан в условии.

      Нужно именно при помощи графических средств этот вывод подать так – чтобы понял даже условный HR-директор.

      К сожалению, быстрые графики для решения этой задачки не подходят. Я работала с несколькими датавиз библиотеками в python, делала дашбордики в JS. Конечно, D3.JS бы справился, но это заняло бы слишком много времени и у него высокий порог вхождения.  Яне рассматриваю настолько сложные инструменты.

      В остальных библиотеках очень плохое базовое оформление и его обычно не поменять.

      Про Julia не слышала, спасибо ха наводку. А кому-то вне Julia можно показывать графики? Потому что, конечно, в первую очередь они нам нужны для решения коммуникационной задачки от специалиста к неспециалисту. От инженера к гуманитарию или управленцу высокого уровня. Сейчас гуглю примеры, пока что схода с классическими датавиз библиотеками python по визуалу и форматированию.

      Увы, увы, для дженерал публики вся и задачка. Потому и сложно.


      1. ParaMara
        11.09.2024 19:52

        А кому-то вне Julia можно показывать графики?

        Можно, но это будет просто график. Julia создана для случая когда нет задачи по быстрому войти в АйТи и доить безграмотное стадо. Соответственно, нет задачи создавать приложение, хотя над этим работают, пусть и без особого энтузиазма.

        А делать картинки, особенно по научным расчётам и аналитике данных - это предполагаемое применение.

        Julia сейчас моя любимая игрушка, уже убедила - без неё или любой альтернативы типа Racket или (даже) Python - гуманитарий и тем более управленец - они нужны как скрипач.


        1. eolay Автор
          11.09.2024 19:52

          Это грубо.

          По-вашему, директора и предприниматели, получающие 1млн в месяц своими навыками и умом – это безграмотное стадо? Художники, врачи и учителя – безграмотное стадо?

          У них всех могут быть проблемы с вашими графиками, если они не разбираются в конкретно вашей профессиональной сфере. Это не повод считать их тупыми. Просто никто не обязан за 15 минут понять то, что вы изучали 5 лет и готовили две недели.

          Julia – наверняка неплохой продукт, но пока что отличий от других аналогичных продуктов не вижу. Я вижу, что у вас к ней личная симпатия, но продукт должен решать задачи. А задачи бывают разные.


  1. OlegUV
    11.09.2024 19:52
    +1

    gnuplot - визуализатор на все случаи жизни, практически

    по возможностям, пожалуй, побогаче, чем ggplot2 и matplotlib, не говоря уже про всякие tableau, figma, excel etc.

    минусы:

    * данные не обрабатывает, только рисует

    * с языком придётся поразбираться, несложно, но время займёт

    * совершенно немодный


    1. eolay Автор
      11.09.2024 19:52

      Ооо, спасибо за наводку, не слышала о таком!

      А как у него с оформлением? Вижу примеры в интернете, пока все тот же matplotlib на минималках. Можете что-то особо заковыристое и аккуратно оформленное показать на нем? (или повторить в нем финальную картинку из примера?)

      Жаль, что погружение долгое, но все равно хорошо, что появляются интересные альтернативы!


      1. OlegUV
        11.09.2024 19:52
        +1

        примеры: https://gnuplot.sourceforge.net/demo_6.0/

        на оформление люди особо внимания не обращают, поэтому выглядит простенько, но возможности подставить шрифты, цвета и т.д. есть

        когда-то давно я писал https://habr.com/ru/articles/253285/

        правда, исходники, похоже уже утрачены


        1. eolay Автор
          11.09.2024 19:52

          Спасибо за материалы! Но да, для дата-сторителлингу нужна все-таки более точная настройка графиков 8(


  1. NY5
    11.09.2024 19:52
    +1

    Спасибо за материал, очень интересно и подробно!


    1. eolay Автор
      11.09.2024 19:52

      Спасибо!