Yamamoto's Laboratory
トップ
基本事項

Matplotlib とは

概要

Matplotlib は,Python スクリプトで書かれている高品質の図を生成する二次元プロットライブラリです.マニュアルのイントロダクションでは,Matplotlib について,以下のように説明しています.

Matplotlibは,対話型環境のもと,さまざまなフォーマット (ファイル出力) やディスプレイ出力で,出版品質の図を生成する Python 2D プロットライブラリです. Matplotlibは,Pythonスクリプト,Python および IPython シェル,jupyter ノートブック,Webアプリケーションサーバー,および4つのグラフィカルユーザーインターフェイスツールキットで使用できます.

Matplotlibは簡単なことも難しいことも簡単にします. わずか数行のコードで,プロット,ヒストグラム,パワースペクトル,棒グラフ,エラーチャート,散布図などが生成できます. 実際の例は,スクリーンショット,サムネイルギャラリー,examplesディレクトリを参照してください.

簡単にプロットを作成するために,特に IPython と組み合わせた場合,pyplot モジュールは,MATLAB のようなインターフェイスを提供します. パワーユーザーの場合は,オブジェクト指向のインターフェイスまたは MATLAB ユーザーにとって慣れ親しんだ一連の関数を使用し,線のスタイル,フォントのプロパティ,軸のプロパティなどを完全に制御できます.

モジュール

matplotlib はパッケージで,それはたくさんのモジュールを含みます.Python Module Indexに一覧が示されています.面白そうなモジュールがあります.

たいていの場合は,トップレベルのトップレベルの「matplotlib」と「matplotlib.pyplot」をインポートすれば十分です.後者の「matplotlib.pyplot」は,MATLABに似たインターフェースを提供します.

Matplotlib と pyplot,pylab の関係

Matplotlib と pyplot,pylab の関係は,「Matplotlib, pyplot and pylab: how are they related?」に書かれています.そこには,次のようなことが書かれています.

Matplotlib はパッケージです,matplotlib.pyplot は,そのパッケージに含まれるモジュールです.pylab は,matplotlib と一緒にインストールされるモジュールです.

Pyplot は,基礎となるオブジェクト指向のプロットライブラリへのステート マシン インタフェースを提供します.プロットを作成するために,このステートマシンは,暗黙的かつ自動的に図形と軸を作成します.たとえば,以下のようにです.

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2, 100)

plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic')

plt.xlabel('x label')
plt.ylabel('y label')

plt.title("Simple Plot")

plt.legend()

plt.show()

ユーザーが要求するプロットを作成するために,最初の呼び出し「plt.plot」は,自動的に必要な図形 (値を表す線) と軸を作成します.引き続く呼び出し「plt.plot」は,現在の軸を再使用し,別の線 — xの2乗と3乗 — を追加します.タイトルや凡例,軸ラベルを設定も,自動的に現在の軸を使用し,タイトルの設定,凡例と軸ラベルを作成します.

pylabは便利なモジュールです.それは,matplotlib.pyplot (プロット作成) と numpy (数学と配列) 単一の名前空間にインポートします.多くのサンプルプログラムで pylab が使用していますが,それはもはや推奨される方法ではありません.

非対話型プロットでは,数字やグラフの描画のために pyplot を使用することが提案されています.オブジェクト指向のプロットのインターフェイスです.

最後の文章の言いたいことがわかりませんが,要するに,pylab は非推奨で,matplotlib.pyplot と numpy を使え — と言うことです.

ページ作成情報

参考資料

  1. Matplotlib の公式サイト は,参考になります.
  2. Matplotlib と pyplot,pylab の関係は,「Matplotlib, pyplot and pylab: how are they related?」に書かれています.

更新履歴

2016年10月09日 新規作成


no counter