Pynote

Python、機械学習、画像処理について

matplotlib - stem で離散データ列をプロットする。

概要

matplotlib の stem で離散データ列をプロットする方法を紹介する。

基本的な使い方

x = np.linspace(0, 2 * np.pi, 10)
y = np.cos(x)

fig, ax = plt.subplots()
ax.stem(x, y, label='label')
ax.legend()

plt.show()


起点となる位置を設定する。

x = np.linspace(0, 2 * np.pi, 10)
y = np.cos(x)

fig, ax = plt.subplots()
ax.stem(x, y, bottom=0.5)

plt.show()


線のスタイルを設定する。

x = np.linspace(0, 2 * np.pi, 10)
y = np.cos(x)

fig = plt.figure(figsize=(8, 8))
params = ['-', '--', '-.', ':']

for i, p in enumerate(params, 1):
    ax = fig.add_subplot(2, 2, i)
    ax.stem(x, y, linefmt=p)
    # タイトルを設定する。
    s = "'{}'".format(p) if isinstance(p, str) else p
    ax.set_title("linefmt={}".format(s))

plt.show()


マーカーのスタイルを設定する。

x = np.linspace(0, 2 * np.pi, 10)
y = np.cos(x)

fig, ax = plt.subplots()
ax.stem(x, y, markerfmt='ro')
ax.legend()

plt.show()