Cloud9でmatplotlibを使おうとすると、下記のようなエラーが出た。
ModuleNotFoundError: No module named 'tkinter'
matplotlibrcを編集して、backendを変更すれば回避できた。ここを参考にした。
matplotlibrcのパスの取得
matplotlibrcのパスは、下記のコードで出力できる。
import matplotlib
print(matplotlib.matplotlib_fname())
matplotlibrcの編集
matplotlibrcを開いて、backendから始まる行を探す。自分の環境だと下記のような感じだった。
## If you omit this parameter, it will always default to "Agg", which is a
## non-interactive backend.
backend : TkAgg
ここを下記のように修正。
## If you omit this parameter, it will always default to "Agg", which is a
## non-interactive backend.
backend : Agg
これでエラーが出なくなった。
グラフの作成
グラフは、savefig()
で画像を生成して、その画像を表示することで参照してる(show()
で描画はしない)。
現時点で、Cloud9ならこの使い方で事足りるように感じてる。
plt.plot(x, y)
plt.savefig('fig.png')