我正在使用GeoPandas绘图功能绘制带有图例的地图。当我绘制时,我的传说出现在图的右上角。这是它的样子:
我想将图例移到图表的下半部分。对于正常的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')
但是,不考虑此修改。
答案 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