Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Avancerad Visualisering med Matplotlib och Seaborn | Rumsliga Analysmetoder
Geospatial Analys med Python

Avancerad Visualisering med Matplotlib och Seaborn

Svep för att visa menyn

Vid arbete med geografiska data är effektiv visualisering avgörande för att upptäcka mönster och förmedla insikter. Pythons bibliotek matplotlib och seaborn erbjuder kraftfulla verktyg för att förbättra dina geografiska diagram, vilket gör det möjligt att anpassa färger, lägga till informativa förklaringar, ange beskrivande titlar och överlagra flera datalager. Genom att behärska dessa tekniker kan du skapa tydliga och övertygande kartor och visualiseringar som framhäver viktiga rumsliga samband.

Anpassning av geografiska diagram börjar ofta med att kontrollera utseendet på dina data. Du kan ange färger för att representera olika kategorier eller värden, justera transparens för att visa överlappande objekt och använda förklaringar för att förklara dina visuella kodningar. Att lägga till titlar och axelrubriker hjälper betraktaren att snabbt tolka dina diagram. Att överlagra flera lager—till exempel vägar ovanpå administrativa gränser—kan ge djupare kontext till din geografiska analys.

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
Observera

Kolumnnamnet i den officiella datamängden är CONTINENT

Utöver kartbaserade visualiseringar kan du även vilja undersöka fördelningen av rumsliga attribut — såsom yta, befolkning eller densitet — med hjälp av statistiska diagram. Seaborn är särskilt användbart för detta ändamål och låter dig skapa histogram, spridningsdiagram och mer, allt med attraktiva standardstilar och enkel anpassning. Genom att kombinera seaborn med rumsliga data kan du snabbt identifiera trender och avvikare i dina dataset, vilket stödjer djupare rumslig analys.

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

Vilket av följande påståenden beskriver bäst effekten av att använda olika färgkartor och förklaringar i rumsliga visualiseringar?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 2. Kapitel 4
some-alt