Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Edistynyt Visualisointi Matplotlibilla ja Seabornilla | Spatiaalisen Analyysin Tekniikat
Paikkatietoanalyysi Pythonilla

Edistynyt Visualisointi Matplotlibilla ja Seabornilla

Pyyhkäise näyttääksesi valikon

Paikkatietojen kanssa työskennellessä tehokas visualisointi on olennaista kuvioiden tunnistamiseksi ja havaintojen viestimiseksi. Pythonin matplotlib- ja seaborn-kirjastot tarjoavat tehokkaita työkaluja spatiaalisten kuvaajien parantamiseen, mahdollistaen värien mukauttamisen, informatiivisten selitteiden lisäämisen, kuvaavien otsikoiden asettamisen sekä useiden tietokerrosten päällekkäisen esittämisen. Näiden tekniikoiden hallinta mahdollistaa selkeiden ja vaikuttavien karttojen ja visualisointien luomisen, jotka korostavat tärkeitä spatiaalisia suhteita.

Spatiaalisten kuvaajien mukauttaminen alkaa usein datan ulkoasun hallinnasta. Voit määrittää värejä eri kategorioille tai arvoille, säätää läpinäkyvyyttä päällekkäisten ominaisuuksien esiin tuomiseksi ja käyttää selitteitä visuaalisten koodausten selittämiseen. Otsikoiden ja akselien nimien lisääminen auttaa katsojia tulkitsemaan kuvaajia nopeasti. Useiden kerrosten, kuten teiden ja hallinnollisten rajojen, päällekkäinen esittäminen tarjoaa syvempää kontekstia spatiaaliseen analyysiin.

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
Huomautus

Virallisessa tietoaineistossa sarakkeen nimi on CONTINENT

Karttapohjaisten visualisointien lisäksi voit tarkastella spatiaalisten ominaisuuksien, kuten pinta-alan, väestön tai tiheyden, jakaumaa tilastollisten kuvaajien avulla. Seaborn on erityisen hyödyllinen tähän tarkoitukseen, sillä sen avulla voit luoda histogrammeja, hajontakuvioita ja muita kuvaajia helposti ja tyylikkäästi. Yhdistämällä seaborn-kirjaston spatiaaliseen dataan voit nopeasti tunnistaa trendejä ja poikkeamia aineistossasi, mikä tukee syvällisempää spatiaalista analyysiä.

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

Mikä seuraavista väittämistä kuvaa parhaiten erilaisten värikarttojen ja selitteiden vaikutusta spatiaalisissa visualisoinneissa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 4
some-alt