ここでは、PythonにおけるMatplotlibを用いたデータ操作方法について解説しています。
「Matplotlib」とは
「Matplotlib」とは数値を可視化するライブラリです。2次元、3次元の両方とも取り扱えて様々な種類のグラフを描画することが可能なものです。
PandasやNumPy等と一緒に使用される場合が多いです。
「Matplotlib」のインストール
Matplotlibを利用する場合は以下をインストールしておく必要があります。
$ pip install matplotlib
同時にPandas、NumPyなども一緒に使用するのでインストールしておくと良いです。
$ pip install pandas numpy
「Matplotlib」で良く使用するグラフ
Matplotlibでは様々なグラフを作成することが可能です。以下は代表的なグラフ一覧です。各リンク先では使用方法について解説しています。
項目 | 内容 |
Axes.plot() | 折れ線グラフ |
Axes.scatter() | 散布図 |
Axes.bar() | 棒グラフ |
Axes.hist() | ヒストグラム |
Axes.boxplot() | 箱ひげ図 |
他にも指数・対数グラフやヒートマップなども利用する場合が多いです。
「Matplotlib」を用いた使用例
実際にMatplotlibを用いた使用例として指数グラフを作成しています。
import matplotlib.pyplot as plt
import numpy as np
#1---numpyで数値定義
t = np.arange(0.01, 5.0, 0.01)
s = np.exp(t)
#2---matplotlibのグラフ指定
fig, ax = plt.subplots()
#3---プロット
ax.plot(t, s)
ax.set_xlim(0, 5)
ax.set_xlabel('time (s)')
ax.set_ylabel('number')
ax.set_title('starting')
ax.grid(True)
#4---保存
plt.savefig("plot.png")
上記がプログラムになります。
それでは解説していきます。
#1---numpyで数値定義
t = np.arange(0.01, 5.0, 0.01)
s = np.exp(t)
1の部分では、numpyを用いてデータを定義しています。
xの範囲を0.01~5.0、yの範囲を0.01から、にしています。それを指数化しています。
#2---matplotlibのグラフ指定
fig, ax = plt.subplots()
2の部分では、matplotlibのグラフ指定を行っています。
#3---プロット
ax.plot(t, s)
ax.set_xlim(0, 5)
ax.set_xlabel('time (s)')
ax.set_ylabel('number')
ax.set_title('starting')
ax.grid(True)
3の部分では、プロットの詳細設定をしています。最初に「ax.plot(t, s)」としてプロットする数値を定義しています。次に「ax.set_xlim(0, 5)」x軸を0~5に制限しています。「ax.set_xlabel(‘time (s)’)」「ax.set_ylabel(‘number’)」はそれぞれラベル名を指定しています。加えて「ax.set_title(‘starting’)」でタイトル名を定義しています。
最後に「ax.grid(True)」でグリッド線を加えています。
#4---保存
plt.savefig("plot.png")
4の部分では、画像として保存しています。
結果
上記が結果になります。
Matplotlibを用いると簡単にグラフ化できることが分かりました。
Matplotlibには他にも多くの可視化(3Dやアニメーションなど)に対応しています。
「Matplotlib」での日本語表示方法
「Matplotlib」は設定をしないと日本語表示が文字化けします。
解決方法として、2つあります。
- 日本語のデジタルフォント(拡張子ttf)追加
- 「japanize-matplotlib」のインストール
1つは日本語のデジタルフォント(拡張子ttf)を追加してあげて、その上で「Matplotlib」で画像を生成するときに引数で「font_path」を指定する方法。
もう1つは、pipで「japanize-matplotlib」をインストールする方法です。
以下では日本語表示の設定方法について解説しています。ご参照下さい。
その他、「Matplotlib」を用いた使用例
項目 | 内容 |
「Pandas」と「Matplotlib」を用いた「xlsx」ファイルのグラフ化方法 | リンク先では、「Pandas」と「Matplotlib」を用いた「xlsx」ファイルのグラフ化する方法について解説しています。 |