Как создать шестиугольные карты с помощью Matplotlib

Мастерим шестиугольные карты с помощью Matplotlib

Учебник по Matplotlib

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

Диаграмма, созданная автором

Давайте создадим несколько карт! 🗺

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

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

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

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

Альтернативой, устраняющей такие различия, является использование гексагональной карты.

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

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

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

(Не забудьте также посмотреть на другие учебники по Matplotlib)

Приступим. 🚀

Шаг 1: Импорт библиотек

Начнем с импорта необходимых библиотек.

import pandas as pdfrom matplotlib.patches import Polygonimport matplotlib.pyplot as pltimport seaborn as snsimport matplotlib.patheffects as PathEffects

Вот и все.

Шаг 2: Создание стиля seaborn

Затем мы используем seaborn для установки фона и шрифта. Я использую Work Sans и #F4EBCD, но не стесняйтесь экспериментировать.

font_family = "Work sans"background_color = "#E0E9F5"sns.set_style({    "axes.facecolor": background_color,    "figure.facecolor": background_color,    "font.family": font_family,})

Кстати: Я часто использую background_color="#00000000", чтобы получить прозрачный фон, если я хочу добавить диаграмму в информационную графику или нечто подобное.