matplotlib savefigをサーバーで行う場合
そのままサーバーでも画像出力させようとすると
Traceback ... ... RuntimeError: Invalid DISPLAY variable
うまくいかない
解決策
import matplotlib as mpl mpl.use('Agg')
これを追加する。見つかるドキュメントにはそれしか書いておらず「追加したのにうまくいかない」状況が起こりうる。
注意点
- 追加するのは,
import matplotlib.pyplot as plt
の前でなければならない - 追記するファイルは, savefigがあるファイルという訳ではなく, 実行するファイルである
これに気をつければ問題なく画像出力ができるはずである. PNGの他の場合も知りたいなんてときは以下に詳しくまとまっている,