diff --git a/examples/gallery/maps/choropleth_map.py b/examples/gallery/maps/choropleth_map.py index f1cce8c3014..d03c6a988be 100644 --- a/examples/gallery/maps/choropleth_map.py +++ b/examples/gallery/maps/choropleth_map.py @@ -14,45 +14,28 @@ """ # %% -import geodatasets import geopandas as gpd import pygmt -# Read the example dataset provided by geodatasets. -gdf = gpd.read_file(geodatasets.get_path("geoda airbnb")) -print(gdf.head()) +provider = "https://naciscdn.org/naturalearth" +world = gpd.read_file(f"{provider}/110m/cultural/ne_110m_admin_0_countries.zip") -# %% -fig = pygmt.Figure() +# The dataset contains different attributes, here we focus on the population within +# the different countries (column "POP_EST") for the continent "Africa". +world["POP_EST"] *= 1e-6 +africa = world[world["CONTINENT"] == "Africa"].copy() -fig.basemap( - region=gdf.total_bounds[[0, 2, 1, 3]], - projection="M6c", - frame="+tPopulation of Chicago", -) - -# The dataset contains different attributes, here we select the "population" column to -# plot. +fig = pygmt.Figure() +fig.basemap(region=[-19.5, 53, -37.5, 38], projection="M10c", frame="+n") -# First, we define the colormap to fill the polygons based on the "population" column. -pygmt.makecpt( - cmap="acton", - series=[gdf["population"].min(), gdf["population"].max(), 10], - continuous=True, - reverse=True, -) +# First, we define the colormap to fill the polygons based on the "POP_EST" column. +pygmt.makecpt(cmap="acton", series=(0, 100), reverse=True) # Next, we plot the polygons and fill them using the defined colormap. The target column # is defined by the aspatial parameter. -fig.plot( - data=gdf, - pen="0.3p,gray10", - fill="+z", - cmap=True, - aspatial="Z=population", -) +fig.plot(data=africa, pen="0.8p,gray50", fill="+z", cmap=True, aspatial="Z=POP_EST") # Add colorbar legend. -fig.colorbar(frame="x+lPopulation", position="jML+o-0.5c+w3.5c/0.2c") +fig.colorbar(frame="x+lPopulation (millions)", position="jML+o2c/-2.5c+w5c+ef0.2c+ml") fig.show()