Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【matplotlib, python3】legendの位置を枠外にしたい + 画像からはみ出ないようにしたい

plt.plot(x, y, label="hoge")
plt.legend(loc="upper right")

とかやると、右上にlegendが表示される
legen()でlocを指定しないとクッソ計算時間が掛かるので、位置は固定した方が良い・・・いや、マジで



枠外にlegenを置く方法もググったら色々と出てくる
bbox_to_anchorとかで位置を変えてやればいいらしい

■ 参考 : 備忘録:matplotlib の legend(凡例) の 位置を調整する

ただ、この方法でやってると画像からlegendがはみ出て全部表示されない・・・

plt.figure(figsize=[15, 9])
とかで図のサイズを横長にしても変わらず


■ 参考 : 備忘録:Pythonでグラフ凡例のサイズを自動調整する方法

plt.legend(loc='upper left', bbox_to_anchor=(1.0255, 1.0255))
plt.savefig('hoge.png', bbox_inches='tight')

のように、bbox_inchesというオプションを追加したら、画像内にプロットとlegendが入るようになった
ただ、legendの分だけ、図が小さくなるので最初から図のサイズを横長にしておく必要があるので注意

ランキング参加中です

↓クリックしていただけると嬉しいです〜