Schritt-für-Schritt-Anleitung zur Erstellung von Karten in Python mit der Plotly-Bibliothek
Karten werden seit Jahrhunderten verwendet, um den Menschen zu helfen, sich zu orientieren und ihre Umgebung zu verstehen. Im Zeitalter von Big Data sind Karten ein unverzichtbares Werkzeug zur Datenvisualisierung geworden. Sie ermöglichen es uns, Daten auf eine intuitive, interaktive und leicht verständliche Weise zu visualisieren. Karten können uns helfen, Muster und Beziehungen zu erkennen, die bei anderen Arten von Visualisierungen schwer zu erkennen sind.
Plotly ist eine leistungsstarke Datenvisualisierungsbibliothek für Python, mit der du eine Vielzahl von interaktiven Visualisierungen, einschließlich Karten, erstellen kannst. Einer der Vorteile von Plotly ist, dass es nahtlos mit anderen Python-Bibliotheken wie Pandas und NumPy zusammenarbeitet. Das macht es einfach, Daten zu importieren und zu manipulieren und Visualisierungen zu erstellen, die auf deine speziellen Bedürfnisse zugeschnitten sind. Wenn du Plotly lernen möchtest, schau dir unseren Kurs Einführung in die Datenvisualisierung mit Plotly in Python an.
In diesem Lernprogramm lernst du Schritt für Schritt, wie du mit Plotly in Python einfache und interaktive Karten erstellst und anpasst. Du lernst auch, wie du Choropleth-Karten erstellst, eine spezielle Art von Karten, die Daten für bestimmte geografische Gebiete wie Länder, Staaten oder Städte farblich kennzeichnet.
Gemeinsame Plotly Map Visualisierungen
Schauen wir uns zunächst einige der verschiedenen Arten von Plotly-Karten an, die du erstellen kannst.
ScatterGeo Plot
Die Funktion Scattergeo()
wird verwendet, um ein Streudiagramm auf einer geografischen Karte zu erstellen. Das bedeutet, dass es dir helfen kann, Punkte auf einer Karte zu zeichnen, wobei jeder Punkt einen bestimmten geografischen Ort repräsentiert, z. B. eine Stadt oder eine Landmarke.
Wenn du zum Beispiel einen Datensatz hast, der die Längen- und Breitengrade verschiedener Städte auf der ganzen Welt enthält, kannst du mit Scattergeo() jede Stadt auf einer Weltkarte darstellen.
Jeder Punkt auf der Karte stellt den Standort einer bestimmten Stadt dar und du kannst die Größe, Farbe und Form jedes Punktes anpassen, um verschiedene Merkmale der Städte, wie z.B. die Einwohnerzahl oder die Temperatur, darzustellen.
Diese Funktion wird häufig in Anwendungen zur Datenvisualisierung und -analyse verwendet, z. B. bei der Wettervorhersage, der Bevölkerungsanalyse und der Kartierung von Unternehmen. Sie kann dir helfen, Daten aussagekräftiger zu visualisieren, indem sie die räumliche Verteilung deiner Datenpunkte zeigt und Muster oder Trends hervorhebt, die in einer Tabelle oder einem Diagramm vielleicht nicht sichtbar sind.
Erstellen eines ScatterGeo Plots in Plotly Beispiel
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()
Ausgabe:
Dieses Codebeispiel verwendet Plotly
, um eine interaktive Geokarte mit Erdbebenorten weltweit zu erstellen. Es importiert Erdbebendaten von der USGS-Website in einen Pandas DataFrame und löscht alle Zeilen mit fehlenden oder ungültigen Magnitudenwerten.
Der Code verwendet dann die Methode px.scatter_geo
, um eine Streuungskarte zu erstellen, die die Erdbebenorte zeigt, wobei größere Erdbeben in dunkleren Farben dargestellt werden. Der Parameter hover_name
ist so eingestellt, dass der Ortsname angezeigt wird, wenn du den Mauszeiger über eine Markierung bewegst.
Schließlich setzt der Code den Kartentitel und zeigt die Karte mit fig.show()
an. Diese Art von Karte kann verwendet werden, um Erdbebenmuster zu erforschen und Einblicke in die globale seismische Aktivität zu gewinnen.
Anpassen von Basisplots
1. Ändere die Farbskala: Der Parameter color
in der Funktion scatter_geo
ordnet die Stärke der Erdbeben der Farbe der Markierungen zu. Du kannst die Farbskala anpassen, um die Werte der Größenordnung besser darzustellen.
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()
Ausgabe:
2. Ändere die Größe der Markierung: Du kannst die Größe der Markierungen anpassen, um die Stärke der Erdbeben besser darzustellen.
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()
Ausgabe:
3. Ändere die Hintergrundfarbe: Du kannst die Hintergrundfarbe der Karte ändern, um sie optisch ansprechender zu gestalten.
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()
Wenn du mehr über die Möglichkeiten der Visualisierung und der fortgeschrittenen Anpassung in Plotly erfahren möchtest, schau dir unser Python Plotly Express Tutorial an: Schalte schöne Visualisierungen frei von Bekhruz Tuychiev.
Speichern der Karte als interaktive HTML-Datei
Du kannst eine Plotly-Figur als HTML-Datei speichern, indem du die Funktion write_html() aus dem Modul plotly.io
verwendest. Hier ist ein Beispiel:
import plotly.io as pio
pio.write_html(fig, file='earthquakes.html', auto_open=True)
Choropleth-Karten
Eine Choroplethenkarte ist eine Art von Karte, die verschiedene Farben oder Schattierungen verwendet, um Datenwerte in verschiedenen Regionen, wie Ländern, Staaten oder Provinzen, darzustellen. In einer Choroplethenkarte wird jede Region entsprechend dem Wert einer bestimmten Datenvariablen wie Bevölkerung, Einkommen oder Temperatur eingefärbt.
Choropleth-Karten können in einer Vielzahl von Anwendungen eingesetzt werden, z. B. bei der Kartierung von Wahlen, der demografischen Analyse und der Visualisierung geografischer Daten. Sie können dir helfen, Muster und Trends in deinen Daten zu erkennen, die in einer Tabelle oder einem Diagramm vielleicht nicht ersichtlich sind, und sie bieten eine gute Möglichkeit, deinem Publikum Informationen zu vermitteln.
Die Funktionen scatter_geo
und Choropleth
in Plotly werden zwar beide zur Erstellung geografischer Visualisierungen verwendet, unterscheiden sich aber in Bezug auf die Art der Daten, für die sie am besten geeignet sind, und die Art, wie sie diese Daten auf einer Karte darstellen. Die Funktion scatter_geo
eignet sich am besten, um einzelne Datenpunkte auf einer Karte darzustellen, wobei jeder Punkt einen bestimmten geografischen Ort repräsentiert, z. B. eine Stadt, eine Landmarke oder ein Erdbeben.
Im Gegensatz dazu wird die Funktion Choropleth
verwendet, um Daten zu visualisieren, die über Regionen wie Länder, Staaten oder Provinzen aggregiert oder gemittelt sind. Jede Region wird entsprechend dem Wert einer bestimmten Datenvariablen schattiert oder eingefärbt, z. B. Bevölkerungsdichte, Durchschnittseinkommen oder Arbeitslosenquote.
Beispiel für die Erstellung einer Choropleth-Karte in 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()
Ausgabe:
Beachte, dass wir einen Zeitrahmen in unserem DataFrame year
haben. Sie reicht von 1952 bis 2007. Wir können diese Dimension nutzen, um die Visualisierung zu animieren. Siehe das Beispiel unten.
Beispieldatensatz:
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()
Ausgabe:
Fazit
Karten sind für die Datenvisualisierung im Zeitalter von Big Data unerlässlich. Plotly ist eine leistungsstarke Datenvisualisierungsbibliothek für Python, mit der du eine Reihe von interaktiven Karten erstellen kannst. Mit Scattergeo
kannst du Datenpunkte darstellen, die bestimmten geografischen Standorten entsprechen, während Choropleth
ideal für die Visualisierung von aggregierten Daten über verschiedene Dimensionen wie Region, Stadt, Land usw. ist.
Wenn du dich für fortgeschrittene Anpassungsmöglichkeiten in Plotly interessierst oder mehr über die Möglichkeiten von Plotly erfahren möchtest, schau dir das Python Plotly Express Cheat Sheet an, das eine schnelle Referenz zu den am häufigsten verwendeten Plotly-Funktionen und -Optionen bietet.