Pythonのグラフ描画ライブラリ matplotlib


このページは以下のURLに移転しました。5秒後に自動で移動します。
新URL: https://note.nkmk.me/python-matplotlib-basic/

matplotlibは出版できる品質の図を作成できるPythonのグラフ描画ライブラリ。

公式のギャラリーにいろいろな例が載っている。

使い方

一つのグラフ

1
2
3
4
5
6
7
8
9
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 2.01, 0.01)
plt.plot(x, x, 'b:')
plt.plot(x, x**1.5, 'rs-')
plt.plot(x, x**2, color='#30F050', marker='^', markerfacecolor='blue')
plt.savefig("matplotlib1.png")

example1

pyplot.plot()で折れ線グラフを作成できる。pyplot.plot()を繰り返すと、ひとつのグラフに複数プロットされる。折れ線グラフの他には、棒グラフpyplot.bar()、散布図pyplot.scatter()などがある。

線、マーカーの種類、色をシンプルな表記で設定できる。例えば、青い点線の場合'b:'、赤い四角のマーカー付き実線の場合'rs-'というように設定する。種類はたくさんあるので公式ドキュメント参照。

色はcolor='#30F050'のようなHex表記やcolor=(0.5, 1, 0)のようなRGB表記(Max=1.0)でも設定可能。線の色colorとマーカーの色markerfacecolorを別々にすることもできる。

複数のグラフ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import numpy as np
import matplotlib.pyplot as plt
fig, ((ax00, ax01, ax02), (ax10, ax11, ax12)) = plt.subplots(nrows=2, ncols=3, sharey=True)
x = np.arange(4)
ax00.plot(x, x, 'ro--')
ax01.plot(x, x**1.5, 'g^-.')
ax02.plot(x, x**2, 'bs:')
ax10.bar(x, x + 1, width=0.5, align='center', color='r')
ax11.bar(x, x**1.5 + 1, width=0.5, align='center', color='g')
ax12.bar(x, x**2 + 1, width=0.5, align='center', color='b')
plt.rcParams['font.size'] = 10
plt.tight_layout()
plt.savefig("img/matplotlib2.png")

example2

複数のグラフをまとめて描画することもできる。

plt.subplots()figureオブジェクトと複数のaxesオブジェクトが得られる。axesオブジェクトに対して、一つのグラフと同じように設定していく。

関連記事