MatplotlibはPythonで動かすことができるモジュールであり、NumPy配列の上に構築されたマルチプラットフォームのデータ可視化ライブラリです。グラフやアニメーションを作成することが可能であり、オプションも様々なものがあります。
ここでは三角関数を表示する例を見てみましょう。
コードは以下の通りです。
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure()
ax=plt.axes()
x=np.linspace(0,10,1000)
ax.plot(x,np.sin(x),color='purple',linestyle='dashed',label='sin(x)');
ax.plot(x,np.cos(x),color='pink',linestyle='dashdot',label='cos(x)');
plt.title("trigonometric function")
plt.xlabel("x")
plt.ylabel("f(x)")
plt.axis('equal');
plt.legend();
plt.grid()
plt.show()
最初の三行でmatplotlib、その中のプロット関数、numpyをインポートしています。その後figureを定義します。figure(クラスplt.Figureのインスタンス)は、軸、グラフィックス、テキスト、ラベルなど、全てのオブジェクトを含む1つのコンテナと考えることができます。またaxes(クラスplt.Axesのインスタンス)は、目盛、グリッド、ラベルを持つ境界です。最終的には、可視化されるものを構成するプロット要素を全て囲みます。ここではax変数として宣言しており、ax.plot関数を使ってグラフを描いていきます。Colorで色を、linestyleで線の種類を決めることができます。
またグラフのタイトルや軸ラベルも設定することができます。
またpythonにおけるグラフィック作成モジュールとして、seabornと呼ばれるモジュールが存在します。
適切な描画スタイルとデフォルトの配色、一般的な統計プロットに対するシンプルで高水準の関数、そしてpandasと呼ばれるデータ処理に使われるモジュールのDataFrameとの機能統合をMatplotlib上のAPIとして提供しています。今回はseabornの一つの便利な機能である、ペアプロットを紹介します。
ペアプロットは全ての値の組み合わせをプロットし、多次元データ間の相関を調べることができます。ここではアイリスのデータセットを使用した例を示します。このデータセットには3種類のあやめのがく片(sepal)と花びら(petal)の測定値が記録されています。
コードは以下の通りです。
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
iris=sns.load_dataset('iris')
sns.pairplot(iris,hue='species',height=1.5);
plt.show()
seabornは慣習として、snsとしてインポートします。
Sns.pairplotを呼び出すだけで、データ間の多次元関係が可視化できます。
たった6行のコードで以下のような素晴らしいグラフを作成することができます。