====== 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 に類似した記法で、細かい設定はある程度、自動で設定してくれる) * 両方のインターフェースを混在して記述することも可能だが、見栄えは悪くなる…。 * 参考サイト: [[https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9 | 早く知っておきたかったmatplotlibの基礎知識、あるいは見た目の調整が捗るArtistの話 - Qiita]] ===== 操作方法 ===== * [[python/matplotlib/オブジェクト指向インターフェースでのグラフ作成 | オブジェクト指向インターフェースでのグラフ作成]] * [[python/matplotlib/Pyplot インターフェースでのグラフ作成 | Pyplot インターフェースでのグラフ作成]] * [[python/matplotlib/共通操作 | 共通操作]] ===== その他 ===== * [[python/matplotlib/デフォルトテーマ | デフォルトテーマ]] ===== Tips ===== ==== バッチプログラムで利用する場合 ==== * バッチプログラムで matplotlib を利用すると以下のエラーメッセージが出てくる。\\ _tkinter.TclError: no display name and no $DISPLAY environment variable * 解決するには、以下の順で ''import'' する。\\ import matplotlib matplotlib.use('Agg') from matplotlib import pyplot * 参考サイト: [[https://qiita.com/itkr/items/4172c5aa6ccaa9e01b88 | [小ネタ] Pythonでimportの前に関数を実行しなければならないときの苦肉の策 - Qiita]] ==== jupyternote で利用する場合のおまじない ==== * jupyternote で使う場合は、以下のおまじないをグラフをプロットする前に記述する。 %matplotlib inline %config InlineBackend.print_figure_kwargs = {'bbox_inches': None} * ''%matplotlib inline'': グラフをブラウザ内に描画する場合に必要 {{tag>プログラミング}}