Mapa estático en Python con geopandas

Mapa estático en Python con geopandas

A diferencia del mapa de coropletas interactivo construido con plotly, geopandas genera un mapa estático a través de matplotlib, lo cual suele ser suficiente para un informe o un documento. Lee cualquier shapefile o geojson con read_file y llama a .plot() sobre el GeoDataFrame resultante.

import geopandas
import matplotlib.pyplot as plt

# Shapefile con las comunidades autónomas españolas
shp = geopandas.read_file("https://raw.githubusercontent.com/R-CoderDotCom/data/main/shapefile_spain/spain.zip")

shp.plot()

# plt.show()

Mapa estático en Python con geopandas

Mapa de coropletas

El shapefile usado arriba ya incluye una columna unemp_rate. Pasa su nombre al argumento column, junto con cmap y legend = True, para colorear cada región según su valor y añadir una barra de color.

import geopandas
import matplotlib.pyplot as plt

shp = geopandas.read_file("https://raw.githubusercontent.com/R-CoderDotCom/data/main/shapefile_spain/spain.zip")

shp.plot(column = "unemp_rate", cmap = "viridis", legend = True)

# plt.show()

Mapa de coropletas en Python con geopandas

Color del borde

Añade un borde alrededor de cada región con edgecolor y linewidth.

import geopandas
import matplotlib.pyplot as plt

shp = geopandas.read_file("https://raw.githubusercontent.com/R-CoderDotCom/data/main/shapefile_spain/spain.zip")

shp.plot(column = "unemp_rate", cmap = "viridis", legend = True,
        edgecolor = "white", linewidth = 0.5)

# plt.show()

Color del borde de un mapa estático en geopandas

Quitar el eje

plot devuelve un Axes de matplotlib normal, así que su eje de coordenadas (latitud y longitud) se puede ocultar de la forma habitual con set_axis_off.

import geopandas
import matplotlib.pyplot as plt

shp = geopandas.read_file("https://raw.githubusercontent.com/R-CoderDotCom/data/main/shapefile_spain/spain.zip")

ax = shp.plot(column = "unemp_rate", cmap = "viridis", legend = True)
ax.set_axis_off()

# plt.show()

Mapa estático sin eje en geopandas

Título

Como ax es un Axes de matplotlib normal, añade un título con set_title.

import geopandas
import matplotlib.pyplot as plt

shp = geopandas.read_file("https://raw.githubusercontent.com/R-CoderDotCom/data/main/shapefile_spain/spain.zip")

ax = shp.plot(column = "unemp_rate", cmap = "viridis", legend = True)
ax.set_axis_off()
ax.set_title("Tasa de paro por región")

# plt.show()

Título de un mapa estático en geopandas

Data Sketches

A journey of imagination, exploration, and beautiful data visualizations

Comprar en Amazon

También te puede interesar