Python 将图例以一致的距离放置在ax上方

Python 将图例以一致的距离放置在ax上方,python,matplotlib,Python,Matplotlib,我试图使用ax.legendloc=0,1.1在matplotlib中的ax上方放置一个图例;但是,如果我将地物大小从5,5更改为5,10,图例将显示在距绘图上边缘的不同距离处 有没有办法参照绘图的上边缘并将其偏移设定的距离 感谢默认情况下,图例边界框和轴之间的距离是恒定的。这是通过borderaxespad参数设置的。这默认为rcParams[legend.borderaxespad]的rc值,通常以fontsize为单位设置为0.5 因此,基本上你得到了你要求的行为是免费的。但是,请注意,您

我试图使用ax.legendloc=0,1.1在matplotlib中的ax上方放置一个图例;但是,如果我将地物大小从5,5更改为5,10,图例将显示在距绘图上边缘的不同距离处

有没有办法参照绘图的上边缘并将其偏移设定的距离


感谢

默认情况下,图例边界框和轴之间的距离是恒定的。这是通过borderaxespad参数设置的。这默认为rcParams[legend.borderaxespad]的rc值,通常以fontsize为单位设置为0.5

因此,基本上你得到了你要求的行为是免费的。但是,请注意,您应该指定图例角落的loc,从该位置开始填充。即

import numpy as np
import matplotlib.pyplot as plt

for figsize in [(5,4), (5,9)]:
    fig, ax = plt.subplots(figsize=figsize)
    ax.plot([1,2,3], label="label")

    ax.legend(loc="lower left", bbox_to_anchor=(0,1))

plt.show()
有关如何将图例放置在轴外部的详细说明,请参见。同样相关的还有: