12 марта 2024

🐍🗺️ Создавайте захватывающие интерактивные карты с помощью Python

Автор статей по блокчейну, криптовалюте, безопасности и общим темам
Оживите свои данные захватывающими интерактивными картами — от землетрясений до демографики. Библиотека Plotly для Python визуализирует цифры намного нагляднее, чем таблицы и графики.
🐍🗺️ Создавайте захватывающие интерактивные карты с помощью Python

Plotly – это мощная библиотека визуализации данных для Python, которая позволяет использовать широкий спектр интерактивных визуализаций, включая карты. Одним из преимуществ Plotly является то, что она разработана для совместной работы с другими библиотеками Python, такими как Pandas и NumPy. Благодаря этому, можно с легкостью импортировать данные и обрабатывать их, а также создавать визуализации, адаптированные к вашим конкретным потребностям.

В этом учебном руководстве вы шаг за шагом узнаете, как создавать и настраивать простые и интерактивные карты с помощью Plotly в Python. Вы также научитесь работать с картами Хороплета особым типом карт, в которых используется цветовое кодирование для обозначения данных по конкретным географическим областям, таким как страны, штаты или города.

Распространенные визуализации карт Plotly

Для начала давайте рассмотрим некоторые из самых популярных типов карт Plotly, которые вы сможете создать.

Диаграмма рассеивания на географической карте

Функция Scattergeo() используется для создания диаграммы рассеивания на географической карте. Это означает, что с ее помощью можно расположить на карте точки, каждая из которых представляет собой определенное географическое место, например город или достопримечательность.

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

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

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

🐍 Библиотека питониста
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
🐍🎓 Библиотека собеса по Python
Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека собеса по Python»
🐍🧩 Библиотека задач по Python
Интересные задачи по Python для практики можно найти на нашем телеграм-канале «Библиотека задач по Python»

Создание графика ScatterGeo в Plotly на примере

        import plotly.express as px
import pandas as pd


# Import data from USGS
data = pd.read_csv('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.csv')


# Drop rows with missing or invalid values in the 'mag' column
data = data.dropna(subset=['mag'])
data = data[data.mag >= 0]


# Create scatter map
fig = px.scatter_geo(data, lat='latitude', lon='longitude', color='mag',
                     hover_name='place', #size='mag',
                     title='Earthquakes Around the World')
fig.show()


    
Результат
Создание графика ScatterGeo в Plotly на примере
Создание графика ScatterGeo в Plotly на примере

В этом примере с помощью Plotly создается интерактивная географическая карта очагов землетрясений по всему миру. Данные о землетрясениях из сайта USGS импортируются в pandas DataFrame и отсеиваются строки с отсутствующими или недействительными значениями магнитуды.

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

И наконец, устанавливается заголовок карты и ее отображение с помощью fig.show(). Этот тип карты можно использовать для изучения закономерностей землетрясений и получения представления о глобальной сейсмической активности.

Настройка базовых графиков

Изменение цветовой шкалы

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

        fig = px.scatter_geo(data, lat='latitude', lon='longitude', color='mag',
                     hover_name='place', color_continuous_scale='reds',
                     title='Earthquakes Around the World')
fig.show()

    
Результат
Изменение цветовой шкалы в Plotly
Изменение цветовой шкалы в Plotly

Изменение размера маркера

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

        fig = px.scatter_geo(data, lat='latitude', lon='longitude', color='mag',
                     hover_name='place', size='mag', size_max=10,
                     title='Earthquakes Around the World')
fig.show()

    
Результат
Изменение размера маркера в Plotly
Изменение размера маркера в Plotly

Изменение цвета фона

Вы можете изменить цвет фона карты, чтобы сделать ее более привлекательной.

        fig = px.scatter_geo(data, lat='latitude', lon='longitude', color='mag',
                     hover_name='place', color_continuous_scale='reds',
                     title='Earthquakes Around the World')
fig.update_layout(geo=dict(bgcolor='black'))
fig.show()

    
Результат
Изменение цвета фона в Plotly
Изменение цвета фона в Plotly

Сохранение карты в виде интерактивного HTML-файла

Вы можете сохранить изображение Plotly в формате HTML-файла с помощью функции write_html() из модуля plotly.io. Приведем пример:

        import plotly.io as pio
pio.write_html(fig, file='earthquakes.html', auto_open=True)

    
Сохранение карты Plotly в виде интерактивного HTML-файла
Сохранение карты Plotly в виде интерактивного HTML-файла

Карты Хороплета (Хороплеты)

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

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

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

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

Создание хороплетной карты в Plotly на примере

        import plotly.express as px
import pandas as pd


# Import data from GitHub
data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder_with_codes.csv')


# Create basic choropleth map
fig = px.choropleth(data, locations='iso_alpha', color='gdpPercap', hover_name='country',
                    projection='natural earth', title='GDP per Capita by Country')
fig.show()


    

Результат

Создание хороплетной карты в Plotly
Создание хороплетной карты в Plotly

Обратите внимание, что в таблице присутствует временная рамка (по годам). Она охватывает период с 1952 по 2007 год. Мы можем использовать это ограничение для анимирования визуализации. Ниже приведен пример.

Образец базы данных

🐍🗺️ Создавайте захватывающие интерактивные карты с помощью Python
        import plotly.express as px
import pandas as pd


# Import data from GitHub
data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder_with_codes.csv')


# Create basic choropleth map
fig = px.choropleth(data, locations='iso_alpha', color='gdpPercap', hover_name='country',
                    projection='natural earth', animation_frame='year',
                    title='GDP per Capita by Country')
fig.show()

    

Результат

🐍🗺️ Создавайте захватывающие интерактивные карты с помощью Python

Заключение

Карты необходимы для визуализации информации в эпоху больших данных. Plotly это мощная библиотека визуализации данных для Python, позволяющая создавать различные интерактивные карты. С помощью Scattergeo вы можете отобразить данные, соответствующие определенным географическим точкам, а Choropleth идеально подходит для визуализации агрегированных параметров, таких как регион, город, страна и так далее.

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

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ