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 は、非常に柔軟で強力なライブラリであるため、目的に応じて適切なモジュールを選択し、使いこなすことが重要です。

