Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Avansert Plotting med Matplotlib og Seaborn | Romlige Analyseteknikker
Geospatial Analyse med Python

Avansert Plotting med Matplotlib og Seaborn

Sveip for å vise menyen

Når du arbeider med geografiske data, er effektiv visualisering avgjørende for å avdekke mønstre og formidle innsikt. Pythons matplotlib- og seaborn-biblioteker gir kraftige verktøy for å forbedre romlige diagrammer, slik at du kan tilpasse farger, legge til informative forklaringer, sette beskrivende titler og legge flere datalag oppå hverandre. Ved å mestre disse teknikkene kan du lage tydelige, overbevisende kart og visualiseringer som fremhever viktige romlige sammenhenger.

Tilpasning av romlige diagrammer starter ofte med å kontrollere utseendet på dataene dine. Du kan angi farger for å representere ulike kategorier eller verdier, justere gjennomsiktighet for å vise overlappende elementer, og bruke forklaringer for å forklare visuelle koder. Å legge til titler og aksetiketter hjelper seerne med å tolke diagrammene raskt. Å legge flere lag oppå hverandre—som veier over administrative grenser—kan gi dypere kontekst for romlig 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
Merknad

Kolonnenavnet i det offisielle datasettet er CONTINENT

I tillegg til kartbaserte visualiseringer kan det være nyttig å utforske fordelingen av romlige attributter — som areal, befolkning eller tetthet — ved hjelp av statistiske diagrammer. Seaborn er spesielt nyttig for dette formålet, og lar deg lage histogrammer, spredningsdiagrammer og mer, alt med attraktive standardstiler og enkel tilpasning. Ved å kombinere seaborn med romlige data kan du raskt identifisere trender og avvik i datasett, noe som gir grunnlag for dypere romlig analyse.

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

Hvilket av følgende utsagn beskriver best effekten av å bruke ulike fargekart og tegnforklaringer i romlige visualiseringer?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 2. Kapittel 4
some-alt