Как делать графики понятными и наглядными? Да ещё и избежать неверных трактовок? Когда использовать круговую диаграмму, а когда нужны линейные графики или столбчатая шкала? Для этого достаточно учесть антипаттерны, которые вредят и запутывают. Разберём на «хороших» и «плохих» примерах.
Привет, Хабр! Меня зовут Андрей Машковцев, я — BI-аналитик в «Т-банке», эксперт Skillbox, веду телеграмм–канал «Лайфхаки в аналитике» и увлекаюсь бегом. Для закрытого комьюнити Skillbox Code Experts рассказал об основных ошибках при визуализации данных. Основные мысли переложил в статью.
Круговые диаграммы: почему они не всегда удачны?
Круговые диаграммы остаются популярным инструментом визуализации. Ведь это компактный и информативный график — можно показать распределение категорий, когда они в совокупности составляют полную выборку. Если подписи к данным расположены прямо возле секторов, то график легко считывается. Для выбора цветов, как правило, используют первую попавшуюся палитру.
Однако, стоит помнить, что выбор круговой диаграммы не всегда предпочтителен и связан с определёнными ограничениями. Если их не учитывать, то использование может затруднить восприятие или исказить его. Например, если категорий слишком много, то возникнет необходимость использовать легенду. А любая легенда только усложняет восприятие графика, поскольку приходится постоянно сверять с ней цвет секторов. Если категорий, а значит и цветов, много, то может возникнуть путаница с похожими оттенками.
Рассмотрим распределение выпускников вузов относительно того, как они находят свою первую работу в 2016-2020 гг. Есть несколько способов, как у них это получалось и количество человек в тысячах. Источник данных — Тинькофф Журнал.
Здесь круговая диаграмма может показаться естественным выбором: она позволяет отразить доли от общего числа. Однако возникают две ключевые проблемы.
Сложность восприятия. Если секторы диаграммы схожи по размеру, читателю трудно их сравнить. Например, различить, какой из двух похожих секторов больше, можно лишь по подписям.
«Остаточные» категории, такие как «другое». Такие категории, часто выделенные отдельным сектором, не всегда подписываются или же не имеют чёткой интерпретации.
Решение: заменить круговую диаграмму горизонтальной столбчатой. Этот тип графика можно отсортировать по убыванию, чтобы сразу выделить главные категории. Более того, подписи удобно разместить прямо рядом со столбцами, что делает данные более наглядными.
На графике выше подписи также расположены рядом с данными, но теперь явно просматривается распределение. Можно дополнительно внести изменения в сортировку. Поместить последними категории «Другое» или «Не нашли», поскольку эти ответы выделяются по смыслу среди остальных или содержат совокупность ответов.
Ещё один пример из практики: данные о поездках на каршеринге по городам-миллионникам из исследования Tinkoff Data. В одной из диаграмм указано, что Москва занимает 42%, Санкт-Петербург — 20%, а оставшиеся города — 33,5%. При этом часть мелких городов попала в категорию «другое», и зритель не мог понять, какие именно города включены. Такой подход лишает данных прозрачности и вызывает вопросы о достоверности (поскольку оставшихся городов-миллионников всего 10, а значит в среднем на них пришлось бы более 3% и они должны быть показаны, поскольку показан Нижний Новгород со своими 0,5%).
Вывод прост: круговые диаграммы подходят только для небольшого количества категорий, сильно различающихся по значениям — оптимально 2-3, не сильно отличные по значениям. Если категория «другое» превышает 5%, стоит описать эту категорию отдельно.
Смещение начала координат
Когда возникает ситуация с относительно большими числами и не очень выразительной динамикой, возникает соблазн показать динамику более явно. Самый простой способ — увеличить масштаб по оси ординат за счёт растяжения участка, на котором происходит всё самое интересное. Ниже — пример с квартальной динамикой доли евро и доллара США в общем объёме резервных валют в статье WolfStreet. Доля доллара и евро в глобальных резервах показывается так, что график создаёт впечатление катастрофического падения. Однако, если внимательно взглянуть на шкалу, можно заметить, что она начинается с 81%, а не с нуля.
Чтобы продемонстрировать реальную динамику, график нужно перестроить с нуля, и тогда линии на нём будут выглядеть практически горизонтальными. Визуальный эффект паники исчезнет. В самом деле, изменение с 86% до 82% — это всего 4 п.п. А свободное место под верхним графиком как бы намекает, что падать ещё есть куда.
А чтобы явно подсветить негативный тренд — можно построить отдельный график с квартальной динамикой в процентных пунктах. На подписях к данным соберите все цифры. Из минусов — большое расстояние между верхним графиком и датами — частично с этим помогут подписи.
Вывод: избегайте сдвига начала координат. Если динамика метрики невыразительна, то, возможно, подойдёт фактоид вместо линии динамики. А ещё дополняйте визуализацию и подписи к данным относительным приростом.
Логарифмическая шкала: использовать с осторожностью
Иногда возникают ситуации, когда значения визуализируемой метрики отличаются в разы. Например, если строить воронку продаж массовых онлайн-продуктов начиная с посещений сайта, то воронка на самом первом слое будет широкой, а все последующие слои будут едва заметны из-за разницы масштаба.
При большом разбросе значений возникает идея использовать логарифмическую шкалу, чтобы показать все значения. В результате, действительно, значения становятся заметнее, но возникает другая проблема — искажение масштаба может вводить в заблуждение. При беглом взгляде на нижнюю часть графика не каждый увидит, что абсолютная разница между первым и вторым столбиком не такая, как между вторым и третьим.
Лучше вообще не использовать логарифмическую шкалу, когда данные имеют большой разброс значений. Например, в случае воронки продаж, где количество посетителей сайта исчисляется сотнями тысяч, а число совершивших покупку — десятками. Это может ввести пользователей в заблуждение. Для визуализации сильно разбросанных значений не получится сравнивать их «в лоб» на обычном графике. Придётся прибегнуть к специальным инструментам.
Не надо так:
Совет такой: избегайте применения логарифмической шкалы на привычных графиках. Можно использовать логарифмическую шкалу лишь для улучшения схематичного графика.
Пример с воронкой показывает, что более понятным решением будет добавить информацию о конверсии между этапами и убрать ненужные детали, чтобы сосредоточить внимание на ключевых показателях. Логарифмическая шкала здесь на самом деле есть (она по горизонтали и скрыта).
Выглядит это вот так:
Так применение логарифмической шкалы на графике в виде воронки позволяет визуализировать все данные, несмотря на их разброс. Подписи фокусируют внимание на конверсии, а не на абсолютных значениях — конверсию в подписи можно увеличить. Пользователи не ждут от такой визуализации точности, не будут пытаться сравнивать ширину слоев, а форма воронки здесь нужна лишь для наглядности.
Линии или столбики?
Иногда аналитики ошибаются в выборе типа диаграммы. Например, если данные собираются к конкретным датам, лучше всего подойдёт линейный график. Но если речь идёт о метриках, накопленных за периоды, предпочтительнее использовать столбчатые диаграммы.
Рассмотрим динамику норматива достаточности капитала (Н1). Это один из основных показателей ликвидности, он рассчитывается ежемесячно на первое число каждого месяца. Представим динамику на графике. Для начала выберем столбчатую диаграмму.
Полоски привлекают к себе слишком много внимания, подписи к данным — практически потерялись. Шкала времени показывает название месяца, при этом норматив рассчитан на первое число соответствующего месяца.
Если мы используем линейный график, то подписи на оси (и на подсказке) будут показывать, что значения приведены на конкретную дату. Шкала времени подсказывает, что норматив рассчитан на первое число месяца. График выглядит легче, фокусируя внимание на динамике.
Можем сделать вывод, что линейный график идеально подходит для визуализации метрик, представленных к определённым датам. Но избегайте линий, если вам известно, что между соседними данными есть аномалии.
На следующем примере — динамика доходов компании «Делимобиль».
Первые две точки — представлены за год, а остальные четыре — за полугодия (это никак не выделено). Сглаженные линии «как бы подразумевают», что значение между данными тоже существуют. Поскольку шкала начинается с нуля, то в результате потерялось отрицательное значение прибыли на нижнем графике.
А теперь представим тоже самое в виде столбчатой диаграммы:
Ширина столбиков для годовых показателей удвоена. Отделённые столбцы говорят, что представлены данные за отдельные отчётные периоды. Контрастные цвета, компактное расположение данных и подписи облегчают восприятие динамики.
Так мы видим, что столбчатая диаграмма подходит для визуализации метрик, представленных за накопленный период. Но если длительность периодов отличается между собой — нужно это выделить.
График между категориями
Бывает так, что регионы на графике никак не связаны друг с другом, а точки на графике соединены отрезками. В результате, хотя линейный график априори подразумевает динамику, в данном примере никакой динамики нет. В этом случае использовать такой график нет смысла.
Нагляднее показывать данные на горизонтальной столбчатой диаграмме. Она не пытается соединить несоединимое. К тому же, горизонтальное расположение позволяет сделать график более компактным, и при этом длинные наименования регионов на нём поместятся.
И, напоследок, пример, как точно делать не надо — когда визуализация только запутывает:
Подчеркну, что визуализация данных — это не просто иллюстрация. Это инструмент, который помогает донести важные или интересные идеи до широкой аудитории, показать тенденции, которые проявляются в данных. И от того, насколько хорошо он будет использоваться, зависит доверие к аналитике и принятым на её основе решениям.