import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns
pythonで機会学習を行う際に、まず上記のようなライブラリをインストールする事が多いですが、importをする際に、よく見るとpyplot だけが「matplotlib.pyplot」という書き方になっています。
numpyやPandasは一言で表記できるのに、なぜpyplotはその書き方にならないのかの疑問を調べたメモ記事になります。
matplotlib.pyplot という書き方になる理由
matplotlib
と numpy
のインポート方法の違いは、それぞれのライブラリの設計思想と機能の違いに起因しています。
numpy の場合:
numpy
は、多次元配列を効率的に処理するためのライブラリです。import numpy
とすることで、numpy
ライブラリ全体の機能にアクセスできます。numpy
の関数やクラスは、numpy
モジュール直下に定義されているため、numpy.関数名
やnumpy.クラス名
のようにして利用します。
matplotlib の場合:
matplotlib
は、グラフ描画のためのライブラリであり、非常に多くの機能を持っています。matplotlib
は、機能をモジュールごとに分割して提供しており、pyplot
はその中の1つです。pyplot
は、MATLAB のようなグラフ描画機能を提供するモジュールであり、最も一般的に使用されます。import matplotlib.pyplot as plt
とすることで、pyplot
モジュールの機能をplt
という別名で利用できるようにします。pyplot
の関数は、plt.関数名
のようにして利用します。matplotlib
には、pyplot
以外にも様々なモジュールがあり、必要に応じて個別にインポートして利用します。
なぜ pyplot が必要なのか:
matplotlib
は、オブジェクト指向のライブラリであり、グラフの要素を細かく制御できます。- 一方で、簡単なグラフを描画したい場合には、
pyplot
のような手続き的なインターフェースが便利です。 pyplot
は、グラフ描画に必要なオブジェクト(図や軸など)を自動的に作成し、簡単な関数呼び出しでグラフを描画できるようにします。
matplotlib
は、様々なグラフ描画機能を提供する巨大なライブラリであり、その機能をモジュールごとに分割して提供しています。pyplot
は、その中でも特に、MATLAB のような手軽なインターフェースを提供するモジュールです。
matplotlib
には、pyplot
以外にも以下のような代表的な機能を提供するモジュールがあります。
matplotlib.axes
:- グラフの軸や目盛り、ラベルなどを制御するためのモジュールです。
- より細かいグラフのカスタマイズを行う際に使用します。
matplotlib.figure
:- グラフ全体を構成する図(Figure)を制御するためのモジュールです。
- 図のサイズや解像度、背景色などを設定できます。
matplotlib.animation
:- アニメーショングラフを作成するためのモジュールです。
- 時間変化するデータを視覚化する際に使用します。
matplotlib.3d
:- 3Dグラフを作成するためのモジュールです。
- 3次元のデータを視覚化する際に使用します。
matplotlib.image
:- 画像を表示するためのモジュールです。
matplotlib.widgets
:- グラフ上にボタンやスライダーなどのインタラクティブな要素を追加するためのモジュールです。
これらのモジュールを組み合わせることで、より高度なグラフ描画やデータ可視化が可能になります。
matplotlib
は、非常に柔軟で強力なライブラリであるため、目的に応じて適切なモジュールを選択し、使いこなすことが重要です。