我对python有点陌生,所以我希望我的问题的答案是相对直接的。在
我正试着用地质公园绘制一张乔洛普利斯地图。但是,由于我要制作多个需要相互比较的映射,所以使用自定义的数据分类方案(而不是分位数或jenks)是必不可少的。因此,我一直在尝试使用用户定义的方案,并且我能够创建容器,但我不知道如何将它们应用于地图本身。在
这是我创建分类方案时所做的:
import pysal.esda.mapclassify as ps
from pysal.esda.mapclassify import User_Defined
bins = [5, 20, 100, 600, 1000, 3000, 5000, 10000, 20000, 400000]
ud = User_Defined(projected_world_exports['Value'], bins)
(其中'Value'是我在地图中绘制的列)
当我试着画出choropleth地图的时候,我不知道这个计划是什么意思
^{pr2}$如果有人能帮忙,我将不胜感激!在
谢谢x
我查看了geopandas绘图函数(https://github.com/geopandas/geopandas/blob/master/geopandas/plotting.py)的代码,但我猜
plot
方法只接受三个名称中的一个(“quantiles”、“equal\uinterval”、“fisher_jenks”)而不是直接接受一个bin列表或一个pysal.esda.mapclassify
分类器,比如User_Defined
。(我想它可能链接到issue,最后一条评论是关于为“用户定义的”binning定义一个API)。在
但是现在我想您可以通过稍微修改和重用我链接的文件中的函数来实现这一点。 例如,您可以像这样重写您自己的
plot_dataframe
版本:然后您需要通过复制来定义函数_flatten_multi_geoms和plot_polygon_collection,您可以这样使用它们:
^{pr2}$这是一种不需要修改geopandas代码的替代方法。它涉及到首先标记箱子,以便您可以创建一个自定义颜色映射,将每个箱子标签映射到特定的颜色。然后必须在geodataframe中创建一列,该列指定将哪个bin标签应用于geodataframe中的每一行,然后使用该列来使用自定义colormap绘制choropleth。在
相关问题 更多 >
编程相关推荐