我试图在图下放置图例,但保持图的大小固定。 这可能吗?
我看到了How to put the legend out of matplotlib plot和https://stackoverflow.com/a/4701285/7746941,但是第一个没有解决在预定义图形尺寸内拟合图例的问题,而第二个则没有一般性地做到这一点(有一个示例,其中轴宽为缩小0.8以适应图例)。
下面是我当前的解决方案,该图例将图例锚定在图形的底部,但图例不适合该图。
我无法弄清楚如何确定图例框的高度以使轴向上移动该量。
import pandas as pd
df = pd.DataFrame({'a': [1,2,3], 'b': [4,5,6]})
ax = df.plot(figsize=(4,4))
tight_box = ax.transAxes.inverted().transform(ax.get_tightbbox(ax.figure.canvas.get_renderer()))
leg = ax.legend(bbox_to_anchor=(0,tight_box[0][1],1,0), loc='upper center')