从GeoPandas图中重新定位图例

时间:2016-10-02 12:02:47

标签: matplotlib geopandas

我正在使用GeoPandas绘图功能绘制带有图例的地图。当我绘制时,我的传说出现在图的右上角。这是它的样子: enter image description here

我想将图例移到图表的下半部分。对于正常的matplotlib图,我通常会做这样的事情:

fig, ax = plt.subplots(1, figsize=(4.5,10))
lima_bank_num.plot(ax=ax, column='quant_cuts', cmap='Blues', alpha=1, legend=True)
ax.legend(loc='lower left')

但是,不考虑此修改。

3 个答案:

答案 0 :(得分:7)

您可以使用ax访问ax.get_legend()实例上定义的图例。然后,您可以使用set_bbox_to_anchor方法更新图例的位置。从头开始创建图例时,这并不像loc关键字一样易于使用,但可以控制放置。因此,对于您的示例,例如:

leg = ax.get_legend()
leg.set_bbox_to_anchor((0., 0., 0.2, 0.2))

有点documentation of set_bbox_to_anchor,但我发现它并不是特别有帮助。

答案 1 :(得分:1)

这可以使用legend_kwds参数来完成:

df.plot(column='values', legend=True, legend_kwds={'loc': 'lower right'});

答案 2 :(得分:-1)

该解决方案似乎不适用于最新版本的geopandas和matplotlib ... ax.get_legend()返回NoneType