Matplotlib 从GeoPandas绘图重新定位图例

Matplotlib 从GeoPandas绘图重新定位图例,matplotlib,geopandas,Matplotlib,Geopandas,我正在使用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

我正在使用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')

但是,未考虑此修改

您可以使用
ax.get_legend()
访问
ax
实例上定义的图例。然后,您可以使用方法
将\u bbox\u设置为\u anchor
更新图例的位置。当从头开始创建图例时,这不能提供与
loc
关键字相同的易用性,但可以控制放置。因此,以你为例,类似于:

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

有一点,虽然我不觉得它特别有用。

这可以使用
legend\u kwds
参数来完成:

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