matplotlib でグラフを保存すると
- 凡例(legend)
- 軸ラベル
- colormap
が枠からはみ出てファイルに正しく保存できない場合の対処方法です
解決方法だけ列挙しておきます.困った時は片っ端から試してみましょう!
box_inches='tight' をつけてみる (役立ち度:★★★)
基本的にこれで解決するはずです
fig.savefig("output.png", bbox_inches='tight')
tight_layout() (役立ち度:★★)
fig.tight_layout()
fig.savefig("output.png")
legendを移動させる (役立ち度:★)
plt.legend(bbox_to_anchor=(0.0, 0.5), loc='upper left')
それでいいのか?という気もしますが,まあやっつけ仕事の時は確実な方法です
matplotlib のバージョンを上げる (役立ち度:★★★)
意外と盲点なのですが,原因は matplotlib のバグ,というパターンがあります.
例えば以下のバグがあります.
このバグは最新版では修正されていて,matplotlibを更新すれば,正常な動作に戻ります.
ただ古いバージョンでも savefig()にbbox_extra_artists=[legend]を指定すると回避できるそうです
plt.savefig('output.png', bbox_extra_artists=[legend,], bbox_inches='tight')