Plotly – это мощная библиотека визуализации данных для Python, которая позволяет использовать широкий спектр интерактивных визуализаций, включая карты. Одним из преимуществ Plotly является то, что она разработана для совместной работы с другими библиотеками Python, такими как Pandas и NumPy. Благодаря этому, можно с легкостью импортировать данные и обрабатывать их, а также создавать визуализации, адаптированные к вашим конкретным потребностям.
В этом учебном руководстве вы шаг за шагом узнаете, как создавать и настраивать простые и интерактивные карты с помощью Plotly в Python. Вы также научитесь работать с картами Хороплета – особым типом карт, в которых используется цветовое кодирование для обозначения данных по конкретным географическим областям, таким как страны, штаты или города.
Распространенные визуализации карт Plotly
Для начала давайте рассмотрим некоторые из самых популярных типов карт Plotly, которые вы сможете создать.
Диаграмма рассеивания на географической карте
Функция Scattergeo()
используется для создания диаграммы рассеивания на географической карте. Это означает, что с ее помощью можно расположить на карте точки, каждая из которых представляет собой определенное географическое место, например город или достопримечательность.
К примеру, если у вас есть база данных, содержащая координаты широты и долготы различных городов мира, вы можете использовать функцию Scattergeo()
, чтобы отобразить каждый город на карте мира.
Каждая точка на карте будет обозначать местоположение определенного города, и вы можете настроить размер, цвет и форму каждой точки, чтобы отразить различные характеристики городов, такие как уровень населения или показатели температуры.
Эта функция широко используется в приложениях для визуализации и анализа данных, таких как прогноз погоды, демографический анализ и бизнес-картография. Она поможет вам более детально визуализировать данные, демонстрируя пространственное распределение точек данных и выделяя закономерности или тенденции, которые могут быть не видны в таблице или на графике.
Создание графика ScatterGeo в Plotly на примере
Результат
В этом примере с помощью Plotly создается интерактивная географическая карта очагов землетрясений по всему миру. Данные о землетрясениях из сайта USGS импортируются в pandas DataFrame и отсеиваются строки с отсутствующими или недействительными значениями магнитуды.
Затем используется метод px.scatter_geo
для создания карты рассеивания, на которой отображаются места землетрясений, причем самые крупные из них выделены более темным цветом. Параметр hover_name
устанавливается для отображения названия местоположения при наведении курсора на маркер.
И наконец, устанавливается заголовок карты и ее отображение с помощью fig.show()
. Этот тип карты можно использовать для изучения закономерностей землетрясений и получения представления о глобальной сейсмической активности.
Настройка базовых графиков
Изменение цветовой шкалы
Параметр color
в функции scatter_geo
сопоставляет магнитуду землетрясений с цветом маркеров. Вы можете настроить цветовую шкалу, чтобы более точно отобразить значения магнитуды.
Результат
Изменение размера маркера
Вы можете изменить размер маркеров, чтобы более точно отобразить магнитуду землетрясений.
Результат
Изменение цвета фона
Вы можете изменить цвет фона карты, чтобы сделать ее более привлекательной.
Результат
Сохранение карты в виде интерактивного HTML-файла
Вы можете сохранить изображение Plotly в формате HTML-файла с помощью функции write_html()
из модуля plotly.io
. Приведем пример:
Карты Хороплета (Хороплеты)
Хороплет – это тип карты, на которой используются различные цвета или оттенки для отображения значений данных в различных регионах, таких как страны, штаты или провинции. На хороплетной карте каждый регион окрашивается в соответствии со значением определенной переменной данных, такой как численность населения, доход или температура.
Хороплеты могут использоваться в различных приложениях, таких как картография избирательной системы, демографический анализ и визуализация географических данных. Они помогут вам увидеть закономерности и тенденции в ваших данных, которые могут быть не видны в таблице или диаграмме, а также обеспечат эффективным подходом донесения информации до вашей аудитории.
Несмотря на то что функции scatter_geo
и Choropleth
в Plotly используются для создания географических визуализаций, они различаются по типам данных, для которых они лучше всего подходят, и по способу отображения этих данных на карте. Функция scatter_geo
лучше всего подходит для построения отдельных точек данных на карте, где каждая точка представляет собой конкретное географическое место, например город, достопримечательность или землетрясение.
Функция Choropleth
, напротив, используется для визуализации данных, которые агрегированы или усреднены по регионам, таким как страны, штаты или провинции. Каждый регион затеняется или окрашивается в зависимости от значения определенной переменной данных, например плотности населения, среднего дохода или уровня безработицы.
Создание хороплетной карты в Plotly на примере
Результат
Обратите внимание, что в таблице присутствует временная рамка (по годам). Она охватывает период с 1952 по 2007 год. Мы можем использовать это ограничение для анимирования визуализации. Ниже приведен пример.
Образец базы данных
Результат
Заключение
Карты необходимы для визуализации информации в эпоху больших данных. Plotly – это мощная библиотека визуализации данных для Python, позволяющая создавать различные интерактивные карты. С помощью Scattergeo
вы можете отобразить данные, соответствующие определенным географическим точкам, а Choropleth
идеально подходит для визуализации агрегированных параметров, таких как регион, город, страна и так далее.
Если вы хотите изучить более продвинутые возможности настройки Plotly или узнать больше о его функционале – обратите внимание на шпаргалку Python Plotly Express, которая содержит краткое руководство по наиболее часто используемым функциям и опциям Plotly.
Комментарии