Плиточная карта России
Коллега прислал ссылку на конкурс со странным названием. Нужно придумать, как разделить Россию на квадратики, чтобы делать клёвые плиточные визуализации. У Америки такая есть:
Все штаты-квадратики одного размера, поэтому их данные легко сравнить между собой
Для России такую карту сделать сложнее, потому что её субъекты сильно отличаются размерами:
Кажется, квадратами нарисовать Россию невозможно. Решаю «приблизиться к оленю» и пробую шестиугольную сетку. Рисую графики похожие на настоящие. Придумываю, как сократить названия регионов. Выходит так:
Я ничего не потеряю, если сделаю тайлы квадратными. График тогда можно увеличить а рамку удалить:
Оу, теперь можно сдвинуть колонки на полвысоты и получить нормальную квадратную карту. Это круто: ячейки выстраиваются в горизонтальные линии и данные проще сравнивать.
Показываю Роме Бунину, ведущему курса о визуализации данных. Кстати, курс стартует 8 декабря в Москве, приходите. Можно удалённо.
Рома недоволен:
Чтобы сделать карту ближе к России, пробую равномерно надуть восток:
Чтобы хоть как-то уплотнить карту, убираю горизонтальные отступы:
Вышла расчёска :–( Никто не догадается, почему одни регионы рядом а другие далеко. Может разрешить карте быть дырявой? Нет, станет ещё непонятнее.
Пробую гигантские субъекты нарисовать гигантскими:
Мало надул, не похоже на Россию. Дуем дальше:
Форма похожая, но теперь понятно: нельзя к каким-то двум регионам привлекать столько внимания. Поэтому распиливаю страну по Уралу и показываю европейскую часть крупно. Так в некоторых проектах делает Лаборатория Данных:
Получается так:
С Сибирью беда. Ямало-Ненецкий и Ханты-Мансийский округа отвалились от Ненецкого. Свердловская область почему-то на севере. Надо ближе половинки сдвинуть, а то непонятно, что это одна страна.
Нравится, что строки востока и запада не совпадают, это усиливает ощущение разреза. Показываю Роме, он одобряет:
На радостях рисую римейк карты с флагами.
В её форме не угадывается Россия, однако, рассматривать интересно. С названиями было бы круче, но уже лень.
Чтобы оценить, точность плиточной карты, раскрашиваю её колонки в разные цвета, так же крашу исходную карту:
Жесть. На Кавказе всё перемешалось: Кабардино-Балкария прилипла к Краснодару, хотя надо было прилипить Карачаево-Черкесию. Ингушетия граничит с Астраханью и Дагестаном, а с Чечнёй — нет. На северо-западе тоже плохо. Надо всё выравнивать заново.
Выравниваю, выравниваю, выравниваю. Не выравнивается. Стоит исправить один косяк, вылезают два других.
А-а-а-а-а-а! Россия кривая!
(╯°□°)╯︵ ┻━┻
Запоздало придумываю принципы:
- Приграничные субъекты лучше рисовать по краям, остальные — в серединке.
- Чем больше сохранится правильных границ между регионами, тем лучше.
- Особенно важна аккуратность в Центральном федеральном округе.
- Федеральные округа не должны рассыпаться.
- Форма карты должна хотя бы отдалённо напоминать Россию.
Ещё надо по-другому сократить названия субъектов. Никто не догадается, что «Мрл» — республика Марий Эл. Назваю регионы их первыми буквами, короткие названия пишу полностью. Тут тоже не без сюрпризов. Как сократить Краснодар и Красноярск? «Крас» и «Крас»? Решаю иногда делать исключения.
В английской верии с сокращениями регионов будет дико проще, есть официальные.
Снова всё двигаю. Выходит лучше:
Рисую горизонтальные полоски:
Стало чуть менее криво. Проверяю, не развалились ли округа:
Северо-Западный федеральный округ порвался, ну и пускай.
Придумал более наглядный способ оценки качества карты. У каждого квадратика от 0 до 4 соседей. Обозначу эти соседские отношения линиями на исходной карте и получу сетку четырёхугольников. Чем ровнее сетка, тем лучше карта.
Сразу видно, что западный Урал задрался наверх.
Другая проблема: восточная часть по форме не похожа на Россию. Исправляю:
Запад стал лучше. Квадратик Оренбурга ушёл вниз, Ненецкий округ — наверх, проверочная сетка выровнялась.
На востоке сетка ухудшилась. Алтай и Алтайский край уехали от Кемерово, а Бурятия присоседилась к Еврейскому АО. Но я на это согласен, потому что форма страны стала узнаваемой. Алтай вывалился вниз, как на настоящей карте, и стал дополнительным ориентиром.
Хуже всего то, что Омск между Свердловской областью, Тюменью и Курганом. Хотя на самом деле он восточнее этой тройки. Пробую поменять его местами с Курганом.
Проверочная сетка разъехалась в районе Омска в тартарары, но зато федеральные округа «расцепились», находить нужные субъекты стало проще.
Если квадратики карты на визуализации залиты полностью, можно сдвинуть половинки карты поближе:
Если нет заливки, то лучше оставить линию на месте Урала:
Готово :–)
Следующий этап — что-нибудь визуализировать. Например, число аварий на дорогах.