17

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

但是,不考虑这种修改。

4

3 回答 3

25

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

df.plot(column='values', legend=True, legend_kwds={'loc': 'lower right'});
于 2019-03-28T18:48:50.367 回答
13

ax您可以使用 访问实例上定义的图例ax.get_legend()。然后,您可以使用 方法更新图例的位置set_bbox_to_anchorloc从头开始创建图例时,这不会提供与关键字相同的易用性,但确实可以控制放置。因此,对于您的示例,类似:

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

一些set_bbox_to_anchor的文档,虽然我觉得它没有什么特别的帮助。

于 2016-10-04T04:50:14.370 回答
0

如果您有一个水平图例,并且您试图简单地减少图例和绘图之间的差距,我建议使用https://gis.stackexchange.com/a/330175/32531colorbar中详述的方法以及传递参数:pad legend_kwd

legend_kwds={"orientation": "horizontal", "pad": 0.01}
于 2022-02-03T15:53:43.930 回答