目次
概要
matplotlib のイベントを線で可視化する eventplot() の使い方について紹介します。
使い方
positions
に1次元配列を渡した場合、各要素はイベントとして解釈され、線で表されます。
In [1]:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
data = np.random.random(50)
fig, ax = plt.subplots()
ax.eventplot(data)
plt.show()
positions
に2次元配列を渡した場合、配列の各行の各要素はイベントとして解釈され、線で表されます。
In [2]:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
data = np.random.random([6, 50])
fig, ax = plt.subplots()
ax.eventplot(data)
plt.show()
orientation – イベントの方向を設定する
各イベントは orientation="horizontal"
なら縦線、orientation="vertical"
なら横線として表されます。
In [3]:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
data = np.random.random(50)
fig, [ax1, ax2] = plt.subplots(1, 2, figsize=(8, 4))
ax1.eventplot(data, orientation="horizontal")
ax2.eventplot(data, orientation="vertical")
plt.show()
lineoffsets – イベントを表す線の中心位置を設定する
lineoffsets
でイベントを表す線の中心位置を設定できます。
positions
に1次元配列を渡した場合: 線の中心位置を指定します。positions
に2次元配列を渡した場合: 1次元配列で各行の線の中心位置を指定します。
In [4]:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
fig, [ax1, ax2] = plt.subplots(1, 2, figsize=(8, 4))
# positions が1次元配列の場合
data = np.random.random(50)
ax1.eventplot(data, lineoffsets=0)
# positions が2次元配列の場合
data = np.random.random([3, 20])
ax2.eventplot(data, lineoffsets=[0, 3, 6])
plt.show()
linelengths – イベントを表す線の長さを設定する
linelengths
でイベントを表す線の長さを設定できます。
positions
に1次元配列を渡した場合: 線の長さを指定します。positions
に2次元配列を渡した場合: 1次元配列で各行の線の長さを指定します。
In [5]:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
fig, [ax1, ax2] = plt.subplots(1, 2, figsize=(8, 4))
# positions が1次元配列の場合
data = np.random.random(50)
ax1.eventplot(data, linelengths=1)
# positions が2次元配列の場合
data = np.random.random([3, 20])
ax2.eventplot(data, lineoffsets=[0, 3, 6], linelengths=[1, 2, 3])
plt.show()
linewidths – イベントを表す線の太さを設定する
linewidths
でイベントを表す線の太さを設定できます。
positions
に1次元配列を渡した場合: 線の太さを指定します。positions
に2次元配列を渡した場合: 1次元配列で各行の線の太さを指定します。
In [6]:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
fig, [ax1, ax2] = plt.subplots(1, 2, figsize=(8, 4))
# positions が1次元配列の場合
data = np.random.random(50)
ax1.eventplot(data, linelengths=1)
# positions が2次元配列の場合
data = np.random.random([3, 20])
ax2.eventplot(data, lineoffsets=[0, 3, 6], linewidths=[0.5, 1, 1.5])
plt.show()
colors – イベントを表す線の色を設定する
colors
でイベントを表す線の色を設定できます。
positions
に1次元配列を渡した場合: 線の色を指定します。positions
に2次元配列を渡した場合: 1次元配列で各行の線の色を指定します。
In [7]:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
fig, [ax1, ax2] = plt.subplots(1, 2, figsize=(8, 4))
# positions が1次元配列の場合
data = np.random.random(50)
ax1.eventplot(data, colors="g")
# positions が2次元配列の場合
data = np.random.random([3, 20])
ax2.eventplot(data, lineoffsets=[0, 3, 6], colors=["r", "g", "b"])
plt.show()
linestyles – イベントを表す線のスタイルを設定する
linestyles
でイベントを表す線のスタイルを設定できます。
positions
に1次元配列を渡した場合: 線のスタイルを指定します。positions
に2次元配列を渡した場合: 1次元配列で各行の線のスタイルを指定します。
In [8]:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
fig, [ax1, ax2] = plt.subplots(1, 2, figsize=(8, 4))
# positions が1次元配列の場合
data = np.random.random(50)
ax1.eventplot(data, colors="g")
# positions が2次元配列の場合
data = np.random.random([3, 20])
ax2.eventplot(data, lineoffsets=[0, 3, 6], linelengths=2, linestyles=["-", "--", ":"])
plt.show()
コメント