Визуализация данных — это настоящее искусство. Будь то простой линейный график или сложные объекты, такие как облака слов или солнечные диаграммы, существует бесчисленное множество инструментов на разных языках программирования и платформах. Геопространственный анализ не является исключением. В этом руководстве мы создадим визуализацию карты Коллегии выборщиков США с использованием модуля `plotly` в Python и Jupyter Notebook.
Это руководство написано для Python 3.6. Если вы ещё не сделали этого, загрузите Python и Pip. Далее вам нужно установить модуль `plotly`, который мы будем использовать в этом уроке. Это можно сделать, выполнив следующую команду в терминале или командной строке вашей операционной системы:
Поскольку мы будем работать с Python в интерактивном режиме, использование Jupyter Notebook — лучший способ извлечь максимум из этого руководства. Вы установили его с помощью `pip3` выше, и теперь вам просто нужно его запустить. Откройте терминал или командную строку и выполните следующую команду:
И вуаля! Он должен открыться в вашем браузере по умолчанию.
Для тех, кто не знаком с Jupyter Notebook, я дал краткий обзор функций, которые будут особенно полезны для прохождения этого руководства.
На изображении ниже вы увидите кнопки с номерами 1-3, которые важно освоить:
— Кнопка сохранения
— Кнопка добавления ячейки
— Кнопка запуска ячейки
Первая кнопка — это кнопка, которую вы будете использовать для **сохранения своей работы** по мере продвижения (1). Я не буду указывать, когда именно это делать — решать вам!
Далее у нас есть кнопка **добавления ячейки** (2). Ячейки — это блоки кода, которые можно запускать вместе. Они являются основными строительными блоками Jupyter Notebook, так как позволяют запускать код пошагово, не выполняя весь код сразу. В этом руководстве вы увидите блоки кода — каждый из них должен соответствовать отдельной ячейке.
И наконец, есть кнопка **запуска ячейки** (3). Jupyter Notebook не запускает ваш код автоматически; вы должны указать, когда это сделать, нажав эту кнопку. Как и в случае с кнопкой добавления, после написания каждого блока кода в этом руководстве в своей ячейке, вы должны запустить его, чтобы увидеть результат (если он ожидается). Если ожидается какой-либо вывод, обратите внимание, что он также будет показан в этом руководстве, чтобы вы знали, чего ожидать. *Обязательно запускайте код по мере продвижения, так как многие блоки кода в этом руководстве зависят от предыдущих ячеек.*
Для использования Plotly вам понадобится учётная запись с собственным API-ключом. Нажмите здесь, чтобы зарегистрироваться через Facebook, Twitter, GitHub, Google Plus или указав свой адрес электронной почты.
После входа в систему найдите своё имя пользователя в правом верхнем углу страницы. Если навести на него курсор, появится прямоугольное окно с четырьмя опциями. Выберите опцию **Настройки**, выделенную на картинке ниже:
Это перенаправит вас на страницу настроек, где вы найдёте шесть опций. Далее выберите **API Keys**, выделенный на изображении ниже:
Наконец, вы попадёте на страницу со всей необходимой информацией для этого руководства! На изображении ниже вы увидите два текстовых поля: одно с вашим именем пользователя, а другое с вашим API-ключом. Это те данные, которые следует сохранить в надёжном месте. Текст в поле API-ключа должен быть защищён, но так как это ваш первый опыт использования Plotly, вы можете нажать кнопку **Regenerate Key**, обведённую ниже. Скопируйте и сохраните ваше имя пользователя и API-ключ в безопасном месте для дальнейшего использования.
Plotly поддерживает три типа карт: *хороплетные карты*, *атласные карты* и *спутниковые карты*. Используя данные Коллегии выборщиков, мы построим хороплетную карту США с цветовой шкалой. Чем темнее цвет, тем больше количество голосов.
Сначала загрузим данные Коллегии выборщиков. Каждое число в списке голосов будет соответствовать метке штата, которую мы вскоре добавим.
В том же вызове ‘Data’ мы включаем параметры, которые будут нашей шкалой. Это определяет, насколько светлым или тёмным будет данный штат.
Теперь мы готовы добавить метки для каждого штата, следя за тем, чтобы порядок оставался неизменным, чтобы штаты не были неправильно подписаны.
В итоге у нас получается:
Теперь мы отформатировали наши данные. Но, конечно, нашему коду нужно знать, как отображать эти данные. К счастью, мы можем просто использовать класс `Layout` из `plotly`. Мы передадим цветовые схемы и метки в качестве параметров.
Это должно открыть ссылку в вашем браузере с нашей визуализацией. Она должна выглядеть следующим образом:
(Вы также можете посмотреть мою версию визуализации здесь.)
Теперь, когда мы создали нашу карту на сайте Plotly, давайте рассмотрим различные варианты отображения. Посмотрите в правый верхний угол визуализации. Вы заметите значок камеры, при наведении на который появляется надпись «Скачать график в формате png». Это изображение позволяет загрузить статическую картинку вашей визуализации, которую затем можно встроить как любую другую фотографию.
Далее прокрутите страницу вниз. Обратите внимание на пять иконок в правом нижнем углу: логотипы Facebook, Google Plus и Twitter, за которыми следует значок цепочки и «». Нажмите на последний значок «».
Должно открыться модальное окно, которое выглядит так:
Теперь вы можете скопировать и вставить этот HTML-код в любой HTML-файл, и он элегантно отобразит визуализацию. Например, код для встраивания моего графика выглядит так:
`plotly` — это полезный модуль Python для отображения практически любых типов данных, будь то числовые, текстовые или геопространственные. В этом руководстве мы сосредоточились на геопространственном картировании, но если вы заинтересованы в расширении своего инструментария визуализации, вы можете посмотреть здесь для получения дополнительных идей.
*Если вам понравилось то, что вы сделали здесь, загляните на мой GitHub (@lesley2958) и Twitter (@lesleyclovesyou) для большего количества контента!*