Python モジュール: matplotlib
概要
- Python でグラフを描画するためのモジュール
モジュールの読み込み
import matplotlib.pyplot as plt
- 同時に
numpy
も読み込んでおくと良い。 - Ubuntu の場合は、
python-tk
やpython3-tk
が必要なので、インストールしておく。
$ sudo apt install python-tk python3-tk
- jupyter notebook の場合は、
python-tk
やpython3-tk
は不要。
記法
- matplotlib では以下の 2 つのインターフェース (記法) が存在する。
- オブジェクト指向:
ax.plot
など ax で始まるコマンドで記述する方法 (厳密に設定する場合)- オブジェクトの構造:
Figure: (ウィンドウ; 描画領域) `- Axes: グラフ描画部分 `- Axis: 軸 |- fig.axes |- fig.patch (長方形オブジェクト; 背景色用の長方形オブジェクト) |- fig.image |- fig.legends (凡例) |- fig.lines |- fig.patches (その他の図形) `- fig.texts
- Pyplot インターフェース:
plt.plot
など、plt で始まるコマンドで記述する方法 (MATLAB に類似した記法で、細かい設定はある程度、自動で設定してくれる)
- 両方のインターフェースを混在して記述することも可能だが、見栄えは悪くなる…。
操作方法
その他
Tips
バッチプログラムで利用する場合
- バッチプログラムで matplotlib を利用すると以下のエラーメッセージが出てくる。
_tkinter.TclError: no display name and no $DISPLAY environment variable
- 解決するには、以下の順で
import
する。
import matplotlib matplotlib.use('Agg') from matplotlib import pyplot
jupyternote で利用する場合のおまじない
- jupyternote で使う場合は、以下のおまじないをグラフをプロットする前に記述する。
%matplotlib inline %config InlineBackend.print_figure_kwargs = {'bbox_inches': None}
%matplotlib inline
: グラフをブラウザ内に描画する場合に必要