Geopandas - 基于数据框中人口的颜色
Geopandas - color based on populations in a dataframe
我有以下美国的形状文件,file。
以及以下带有州名和人口的数据框
我尝试绘制 shapefile 并使用以下代码根据每个州的人口为其着色:
import geopandas as gpd
import geoplot
fname = "states.json"
us = gpd.read_file(fname)
geoplot.choropleth(
us, hue=population_mean['POPEST2016_CIV'],
cmap='Blues', figsize=(8, 4)
)
但是,我似乎没有得到正确的颜色。例如,人口最多的人的阴影最深。
示例输出:
谢谢
更新:
我通过合并解决了
fname = "states.json"
us = gpd.read_file(fname)
us = pd.merge(us, population_mean, on=['STATE_NAME'])
us
gplt.choropleth(
us, hue=us['POPEST2016_CIV'], projection=geoplot.crs.AlbersEqualArea(),
edgecolor='black', linewidth=1,
cmap='Greens', legend=True, legend_kwargs={'loc': 'lower left'},
scheme='fisher_jenks',
)
我有以下美国的形状文件,file。
以及以下带有州名和人口的数据框
我尝试绘制 shapefile 并使用以下代码根据每个州的人口为其着色:
import geopandas as gpd
import geoplot
fname = "states.json"
us = gpd.read_file(fname)
geoplot.choropleth(
us, hue=population_mean['POPEST2016_CIV'],
cmap='Blues', figsize=(8, 4)
)
但是,我似乎没有得到正确的颜色。例如,人口最多的人的阴影最深。
示例输出:
谢谢
更新:
我通过合并解决了
fname = "states.json"
us = gpd.read_file(fname)
us = pd.merge(us, population_mean, on=['STATE_NAME'])
us
gplt.choropleth(
us, hue=us['POPEST2016_CIV'], projection=geoplot.crs.AlbersEqualArea(),
edgecolor='black', linewidth=1,
cmap='Greens', legend=True, legend_kwargs={'loc': 'lower left'},
scheme='fisher_jenks',
)