This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
python:matplotlib:プロットの保存 [2018/01/21 05:56] koudai [CUI環境] |
python:matplotlib:プロットの保存 [2021/06/27 22:04] (current) |
||
---|---|---|---|
Line 43: | Line 43: | ||
例えばpng形式で解像度をDPI=300としたい場合< | 例えばpng形式で解像度をDPI=300としたい場合< | ||
- | |||
- | |||
- | |||
- | ====== CUI環境 ====== | ||
- | |||
- | matplotlibでグラフを作成するとき、フロントエンドである自分で作ったPythonのプログラムと、バックエンドであるブラックボックス化されたプログラムを組み合わせることになります。 | ||
- | matplotlibではバックエンドとして次の2種類があって、画面にウィンドウを開いて図形や文字を表示したり編集したりするプログラムを対話型バックエンド(interactive backend)、与えられた情報を元にPNGやEPSといった画像ファイルを生成するプログラムを非対話型バックエンド(non-interactive backend)と呼ぶことになっています。 | ||
- | |||
- | デフォルトで対話型バックエンドを呼び出す設定になっている場合(これが普通です)、CUI環境で使っているときやSSHでサーバに接続して作業しているときなどに対話型バックエンドが起動できずエラーがでます。 | ||
- | |||
- | 対話型バックエンドが使えない環境では、matplotlib.pyplotをインポートする前に< | ||
- | import matplotlib | ||
- | matplotlib.use(" | ||
- | </ | ||
- | plt.showが使えなくなることに注意しましょう。 | ||
- | なお、AGG=Anti-Grain Geometryはベクター画像からラスター画像を生成するのに使われるC++のライブラリ(つまり非対話型バックエンド)です。 | ||
- | |||
- | <file python sin_agg.py> | ||
- | import matplotlib | ||
- | matplotlib.use(" | ||
- | |||
- | import numpy as np | ||
- | import matplotlib.pyplot as plt | ||
- | |||
- | x = np.arange(-5, | ||
- | y = np.sin(x) | ||
- | |||
- | plt.plot(x, y) | ||
- | |||
- | plt.savefig(" | ||
- | </ | ||
- | |||
- | デフォルトのバックエンドは matplotlibrc で確認できます。 | ||
- | |||
- | * Anaconda3でインストールした場合は / | ||
- | |||
- | ===== 参考 ===== | ||
- | |||
- | * https:// | ||
- | |||
- |