Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Advanced Plotting with Matplotlib and Seaborn | Techniken der Räumlichen Analyse
Geodatenanalyse mit Python

Advanced Plotting with Matplotlib and Seaborn

Swipe um das Menü anzuzeigen

Bei der Arbeit mit räumlichen Daten ist eine effektive Visualisierung entscheidend, um Muster zu erkennen und Erkenntnisse zu vermitteln. Die Python-Bibliotheken matplotlib und seaborn bieten leistungsstarke Werkzeuge zur Verbesserung räumlicher Diagramme. Sie ermöglichen die Anpassung von Farben, das Hinzufügen informativer Legenden, das Setzen beschreibender Titel und das Überlagern mehrerer Datenebenen. Durch das Beherrschen dieser Techniken lassen sich klare, aussagekräftige Karten und Visualisierungen erstellen, die wichtige räumliche Zusammenhänge hervorheben.

Die Anpassung räumlicher Diagramme beginnt häufig mit der Steuerung des Erscheinungsbilds der Daten. Es können Farben zur Darstellung verschiedener Kategorien oder Werte festgelegt, die Transparenz angepasst werden, um überlappende Merkmale sichtbar zu machen, und Legenden zur Erklärung der visuellen Kodierungen verwendet werden. Das Hinzufügen von Titeln und Achsenbeschriftungen erleichtert die Interpretation der Diagramme. Das Überlagern mehrerer Ebenen – beispielsweise Straßen auf Verwaltungsgrenzen – bietet einen tieferen Kontext für die räumliche Analyse.

12345678910111213141516171819202122232425262728293031323334
import geopandas as gpd import matplotlib.pyplot as plt url = "https://naciscdn.org/naturalearth/110m/cultural/ne_110m_admin_0_countries.zip" world = gpd.read_file(url) # Create a plot with customizations fig, ax = plt.subplots(figsize=(12, 8)) # Plot countries, coloring by continent world.plot(column='CONTINENT', cmap='Set2', edgecolor='black', linewidth=0.5, legend=True, ax=ax, alpha=0.8) # Overlay country boundaries with a thicker line for emphasis world.boundary.plot(ax=ax, color='gray', linewidth=1.5) # Add a title and axis labels ax.set_title('World Countries by Continent', fontsize=18) ax.set_xlabel('Longitude') ax.set_ylabel('Latitude') # Customize legend position so it doesn't overlap the map leg = ax.get_legend() if leg: leg.set_bbox_to_anchor((1.15, 0.5)) plt.tight_layout() plt.show()
Note
Hinweis

Der Spaltenname im offiziellen Datensatz ist CONTINENT

Über kartenbasierte Visualisierungen hinaus kann es sinnvoll sein, die Verteilung räumlicher Attribute – wie Fläche, Bevölkerung oder Dichte – mithilfe statistischer Diagramme zu untersuchen. Seaborn eignet sich hierfür besonders gut und ermöglicht die Erstellung von Histogrammen, Streudiagrammen und weiteren Diagrammtypen mit ansprechenden Standardstilen und einfacher Anpassung. Durch die Kombination von seaborn mit räumlichen Daten lassen sich Trends und Ausreißer in Datensätzen schnell erkennen, was eine vertiefte räumliche Analyse unterstützt.

1234567891011121314151617181920212223242526272829303132
import geopandas as gpd import seaborn as sns import matplotlib.pyplot as plt # Load sample data directly from the official URL url = "https://naciscdn.org/naturalearth/110m/cultural/ne_110m_admin_0_countries.zip" world = gpd.read_file(url) # The official dataset doesn't have a pre-made 'area' column, so we calculate it. # Note: This calculates area in decimal degrees based on the WGS84 projection. world['area'] = world.geometry.area # Plot a histogram of country areas plt.figure(figsize=(10, 6)) # 'area' is our new custom column, kde=True adds the density curve sns.histplot(world['area'], bins=30, color='skyblue', kde=True) plt.title('Distribution of Country Areas') plt.xlabel('Area (sq. degrees)') plt.ylabel('Number of Countries') plt.tight_layout() plt.show() # Plot a scatter plot of population vs. area plt.figure(figsize=(10, 6)) # Adjusted column names to match the official dataset: 'POP_EST' and 'CONTINENT' sns.scatterplot(x='area', y='POP_EST', data=world, hue='CONTINENT', palette='Set2') plt.title('Country Population vs. Area by Continent') plt.xlabel('Area (sq. degrees)') plt.ylabel('Estimated Population') plt.legend(title='Continent', bbox_to_anchor=(1.05, 1), loc='upper left') plt.tight_layout() plt.show()
question mark

Welche der folgenden Aussagen beschreibt am besten die Wirkung der Verwendung verschiedener Farbkarten und Legenden in räumlichen Visualisierungen?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 2. Kapitel 4
some-alt