matplotlibで凡例の場所を取得しようとしています。 Legend.get_window_extent()はこれを提供するはずですが、凡例の場所に関係なく同じ値を返します。次に例を示します。matplotlibで凡例の場所を取得する方法
from matplotlib import pyplot as plt
def get_legend_pos(loc):
plt.figure()
plt.plot([0,1],label='Plot')
legend=plt.legend(loc=loc)
plt.draw()
return legend.get_window_extent()
if __name__=='__main__':
# Returns a bbox that goes from (0,0) to (1,1)
print get_legend_pos('upper left')
# Returns the same bbox, even though legend is in a different location!
print get_legend_pos('upper right')
凡例の場所を取得する正しい方法は何ですか。
は話題にならないかもしれませんが、最高の凡例の場所を探しているかもしれませんが、matplotlibには既にこの機能があります。 'loc = 0'を使って凡例を「最良の」位置に置きます。 –
それは良い点です...私はloc = 0(またはloc = 'best')について知っています...私がしようとしているのは、loc = 0を使った後で凡例がどこに置かれたのか把握することです。それの周りに他のものを置く。 – jhaiduce