来自 Geopandas GeoDataFame 的 Choropleth 地图

Choropleth map from Geopandas GeoDataFame

我正在尝试根据 Geopandas GeoDataFrame 中的多边形制作等值线图。我想通过 GeoDataFrame 列之一中的值的分位数来表示多边形。我试图找出不同的选择,看看什么最适合我的需要。如有任何建议,我们将不胜感激。

看来 Geopandas 确实已经有能力做到这一点:http://nbviewer.ipython.org/github/geopandas/geopandas/blob/master/examples/choropleths.ipynb

tracts.plot(column='CRIME', scheme='QUANTILES', k=3, colormap='OrRd')

虽然我找不到太多文档,但它有效。我希望能够添加一个显示分位数截止值的图例,但 Geopandas 图目前似乎只允许基于分类数据的图例。有人能解决这个问题吗?

此外,我希望能够调整多边形的轮廓宽度。这可能吗?

我一直在尝试的另一种选择是在 matplotlib 中使用多边形补丁。这似乎更加复杂,但似乎确实提供了更多自定义选项。如果有必要沿着这条路走下去以建立一个传奇,我可以跟进另一个问题,并将包括我目前的代码。

感谢您的帮助。

geopandas中集成了以下补丁,所以你现在可以做:

tracts.plot(column='CRIME', scheme='QUANTILES', k=3, colormap='OrRd', legend=True)

我对 geopandas 的 plot_dataframe 函数做了一个小补丁,以便在使用 PySAL 方案时启用图例。你可以在这里找到它:http://nbviewer.ipython.org/gist/jorisvandenbossche/d4e6efedfa1e4e91ab65(调整只在if scheme is not None:之后的几行)。

这让您可以执行以下操作:

ax = plot_dataframe(tracts, column='CRIME', scheme='QUANTILES', k=3, colormap='OrRd', legend=True)

得到这样的数字:

要调整多边形轮廓宽度,您可以像这样使用"linewidth":

tracts.plot(column='CRIME', scheme='QUANTILES', k=3, colormap='OrRd', linewidth=0.1)