アクサンの場合

Python3初心者が段々上達するログ

matplotlib savefigをサーバーで行う場合

そのままサーバーでも画像出力させようとすると

Traceback 
... 
...
RuntimeError: Invalid DISPLAY variable

うまくいかない

解決策

import matplotlib as mpl
mpl.use('Agg')

これを追加する。見つかるドキュメントにはそれしか書いておらず「追加したのにうまくいかない」状況が起こりうる。

注意点

  • 追加するのは, import matplotlib.pyplot as pltの前でなければならない
  • 追記するファイルは, savefigがあるファイルという訳ではなく, 実行するファイルである

これに気をつければ問題なく画像出力ができるはずである. PNGの他の場合も知りたいなんてときは以下に詳しくまとまっている,

qiita.com