matplotlibの凡例を軸の外側に移動すると、図のボックスで切り取られてしまいます。質問する
私は以下の質問についてよく知っています: プロットの外側に凡例がある Matplotlib savefig プロットから伝説を排除する方法 これらの質問の回答では、凡例が収まるように軸を正確に縮小できるという贅沢があるようです。 しかし、軸を縮小することは理想的な解決策ではありません。なぜなら、データが小さくなり、解釈が難しくなるからです。特に、複雑で多くのことが起こっている場合は、大きな凡例が必要になります。 ドキュメント内の複雑な凡例の例では、プロット内の凡例によって複数のデータ ポイントが実際に完全に隠されているため、これが必要であることが示されています。 http://matplotlib.sourceforge.net/users/legend_guide.html#legend-of-complex-plots 私が実現したいのは、拡大する図の凡例に合わせて図ボックスのサイズを動的に拡大することです。 import matplotlib.pyplot as plt import numpy as np x = np.arange(-2*np.pi, 2*np.pi, 0.1) fig = plt.figure(1) ax = fig.add_subplot(111) ax.plot(x, np.sin(x), label='Sine') ax.plot(x, np.cos(x), label='Cosine') ax.plot(x, np.arctan(x), label='Inverse tan') lgd = ax.legend(loc=9, bbox_to_anchor=(0.5,0)) ax.grid('on') 最後のラベル「Inverse tan」が実際には図のボックスの外側にあることに注目してください (また、切り取られているように見え、出版品質ではありません)。 最後に、これは R と LaTeX では通常の動作であると聞いていますが、Python ではなぜこれが難しいのか少し混乱しています...歴史的な理由があるのでしょうか? Matlab もこの点では同様に貧弱なのでしょうか? このコードの(ほんの少しだけ)長いバージョンをpastebinに載せています。http://pastebin.com/grVjc007