Heim > Backend-Entwicklung > Python-Tutorial > So zeichnen Sie dynamische und interaktive geografische Diagramme mit Python

So zeichnen Sie dynamische und interaktive geografische Diagramme mit Python

WBOY
Freigeben: 2023-09-28 21:37:02
Original
1322 Leute haben es durchsucht

So zeichnen Sie dynamische und interaktive geografische Diagramme mit Python

So zeichnen Sie dynamische und interaktive geografische Diagramme mit Python

Einführung: Bei der Datenvisualisierung sind geografische Diagramme ein gängiges und leistungsstarkes Werkzeug, das uns helfen kann, räumliche Verteilungsmuster und Trends in Datensätzen besser zu verstehen. Als universelle Programmiersprache verfügt Python über leistungsstarke Datenverarbeitungs- und Visualisierungsfunktionen und kann auch zum Zeichnen dynamischer und interaktiver geografischer Diagramme verwendet werden. In diesem Artikel wird erläutert, wie Sie mit Python dynamische und interaktive geografische Diagramme zeichnen, und es werden spezifische Codebeispiele bereitgestellt.

1. Vorbereitung
Bevor wir Python zum Zeichnen geografischer Diagramme verwenden, müssen wir einige notwendige Bibliotheken installieren. Die am häufigsten verwendeten Bibliotheken sind Matplotlib (zum Zeichnen statischer Diagramme) und Plotly (zum Zeichnen dynamischer und interaktiver Diagramme). Diese Bibliotheken können mit dem folgenden Befehl installiert werden:

pip install matplotlib
pip install plotly
Nach dem Login kopieren

2. Zeichnen Sie statische geografische Diagramme
Lassen Sie uns zunächst lernen, wie Sie mit Python statische geografische Diagramme zeichnen. Um dieses Ziel zu erreichen, werden wir die Matplotlib-Bibliothek und das Basemap-Modul verwenden. Hier ist ein einfaches Codebeispiel, das zeigt, wie man eine Weltkarte zeichnet und einige Punkte auf der Karte markiert:

import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

# 创建地图
map = Basemap(projection='mill', llcrnrlat=-90, urcrnrlat=90, llcrnrlon=-180, urcrnrlon=180, resolution='c')

# 绘制海岸线
map.drawcoastlines()

# 绘制国家边界
map.drawcountries()

# 绘制州界线
map.drawstates()

# 绘制城市
lons = [116.4074, 139.6917, -73.935242, -99.133178]
lats = [39.9042, 35.6895, 40.712776, 19.432608]
x, y = map(lons, lats)
map.plot(x, y, 'bo', markersize=8)

# 显示地图
plt.show()
Nach dem Login kopieren

Im obigen Code erstellen wir zunächst ein Basemap-Objekt und geben die Kartenprojektion an Methode, Breiten- und Längengradbereich und Auflösung. Anschließend zeichnen wir Küstenlinien, Ländergrenzen und Staatsgrenzen mit Methoden wie drawcoastlines(), drawcountries() und drawstates(). Abschließend zeichnen wir einige Punkte auf der Karte mit der Methode plot() ein. Basemap对象,并指定了地图的投影方式、经纬度范围和分辨率。然后我们使用drawcoastlines()drawcountries()drawstates()等方法绘制海岸线、国家边界和州界线。最后,我们使用plot()方法在地图上绘制了一些点。

运行上述代码,将会得到一个静态的世界地图,并在地图上标记了四个城市的位置。

三、绘制动态和交互式地理图表
如果我们需要绘制动态和交互式地理图表,通常会选择使用Plotly库。以下是一个示例代码,演示了如何使用Plotly绘制一个动态的世界地图,并在地图上显示每个国家的人均GDP:

import plotly.express as px

# 加载数据集
data = px.data.gapminder()

# 创建动态地理图表
fig = px.scatter_geo(data, locations="iso_alpha", color="continent", hover_name="country", size="gdpPercap",
                     animation_frame="year",
                     projection="natural earth")

# 显示地图
fig.show()
Nach dem Login kopieren

在上述代码中,我们使用px.data.gapminder()加载了一个示例数据集,其中包含了各个国家在不同年份的人均GDP数据。然后,我们使用px.scatter_geo()方法创建了一个动态地理图表,其中locations参数用于指定国家的ISO代码,color参数用于按照不同的大洲进行颜色区分,hover_name参数用于在鼠标悬停时显示国家名称,size参数用于根据人均GDP的大小调整点的大小,animation_frame

Führen Sie den obigen Code aus und Sie erhalten eine statische Weltkarte mit den Standorten von vier Städten, die auf der Karte markiert sind.

3. Zeichnen Sie dynamische und interaktive geografische Diagramme

Wenn wir dynamische und interaktive geografische Diagramme zeichnen müssen, entscheiden wir uns normalerweise für die Verwendung der Plotly-Bibliothek. Hier ist ein Beispielcode, der zeigt, wie man mit Plotly eine dynamische Weltkarte zeichnet und das Pro-Kopf-BIP jedes Landes auf der Karte anzeigt:
rrreee

Im obigen Code verwenden wir px.data.gapminder() Lädt einen Beispieldatensatz mit BIP-Pro-Kopf-Daten für verschiedene Länder in verschiedenen Jahren. Anschließend haben wir mit der Methode px.scatter_geo() ein dynamisches geografisches Diagramm erstellt, wobei der Parameter locations verwendet wird, um den ISO-Code des Landes, color, anzugeben Der Parameter wird verwendet, um Farben nach verschiedenen Kontinenten zu unterscheiden, der Parameter hover_name wird verwendet, um den Ländernamen anzuzeigen, wenn die Maus darüber bewegt wird, und der Parameter size wird verwendet, um den Punkt basierend auf der Größe des BIP pro Kopf anzupassen. Der Parameter animation_frame wird verwendet, um dynamische Zeitreihen anzugeben. 🎜🎜Führen Sie den obigen Code aus, Sie erhalten eine dynamische Weltkarte und das Pro-Kopf-BIP jedes Landes wird in verschiedenen Farben und Punktgrößen dargestellt. 🎜🎜Fazit: 🎜In diesem Artikel wird erläutert, wie Sie mit Python dynamische und interaktive geografische Diagramme zeichnen. Mithilfe der Matplotlib- und Basemap-Bibliotheken können wir statische geografische Diagramme zeichnen und verschiedene Punkte auf der Karte markieren. Mithilfe der Plotly-Bibliothek können wir dynamische und interaktive geografische Diagramme zeichnen und dynamische Effekte basierend auf Datenänderungen anzeigen. Geografische Diagramme, ob statisch oder dynamisch, können uns helfen, die räumlichen Verteilungsmuster und Trends von Daten besser zu verstehen. Ich hoffe, dieser Artikel kann Ihnen dabei helfen, Python zum Zeichnen geografischer Diagramme in der Datenvisualisierung zu verwenden. 🎜

Das obige ist der detaillierte Inhalt vonSo zeichnen Sie dynamische und interaktive geografische Diagramme mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage