使用
-
设置字体大小和随机种子:
matplotlib.rcParams['font.size'] = 8.0 np.random.seed(19680801)
设置字体大小和随机种子以确保可重现性。
-
创建随机数据和设置颜色、线性属性:
data1 = np.random.random([6, 50]) colors1 = [f'C{i}' for i in range(6)] lineoffsets1 = [-15, -3, 1, 1.5, 6, 10] linelengths1 = [5, 2, 1, 1, 3, 1.5]
创建一个6x50的数组作为随机数据,并设置每组位置的颜色、线性偏移和长度。
-
创建包含2x2子图的画布:
fig, axs = plt.subplots(2, 2)
创建一个包含2x2子图的画布。
-
创建水平和垂直事件图:
axs[0, 0].eventplot(data1, colors=colors1, lineoffsets=lineoffsets1, linelengths=linelengths1) axs[1, 0].eventplot(data1, colors=colors1, lineoffsets=lineoffsets1, linelengths=linelengths1, orientation='vertical')
在第一行的第一个子图中创建水平事件图,第二行的第一个子图中创建垂直事件图。
-
创建另一组随机数据和水平/垂直事件图:
data2 = np.random.gamma(4, size=[60, 50]) colors2 = 'black' lineoffsets2 = 1 linelengths2 = 1 axs[0, 1].eventplot(data2, colors=colors2, lineoffsets=lineoffsets2, linelengths=linelengths2) axs[1, 1].eventplot(data2, colors=colors2, lineoffsets=lineoffsets2, linelengths=linelengths2, orientation='vertical')
创建一个新的随机数据集,并在第一行的第二个子图中创建水平事件图,第二行的第二个子图中创建垂直事件图。
-
显示图形:
plt.show()
- 完整代码
import matplotlib.pyplot as plt import numpy as np import matplotlib # 设置字体大小 matplotlib.rcParams['font.size'] = 8.0 # 设置随机种子以便重现性 np.random.seed(19680801) # 创建随机数据 data1 = np.random.random([6, 50]) # 为每组位置设置不同的颜色 colors1 = [f'C{i}' for i in range(6)] # 为每组位置设置不同的线性属性 lineoffsets1 = [-15, -3, 1, 1.5, 6, 10] linelengths1 = [5, 2, 1, 1, 3, 1.5] # 创建一个包含2x2子图的画布 fig, axs = plt.subplots(2, 2) # 创建水平事件图 axs[0, 0].eventplot(data1, colors=colors1, lineoffsets=lineoffsets1, linelengths=linelengths1) # 创建垂直事件图 axs[1, 0].eventplot(data1, colors=colors1, lineoffsets=lineoffsets1, linelengths=linelengths1, orientation='vertical') # 创建另一组随机数据,这次使用伽马分布仅为了美观 data2 = np.random.gamma(4, size=[60, 50]) # 使用单独的值设置参数,这些值将用于所有数据集 colors2 = 'black' lineoffsets2 = 1 linelengths2 = 1 # 创建水平事件图 axs[0, 1].eventplot(data2, colors=colors2, lineoffsets=lineoffsets2, linelengths=linelengths2) # 创建垂直事件图 axs[1, 1].eventplot(data2, colors=colors2, lineoffsets=lineoffsets2, linelengths=linelengths2, orientation='vertical') # 显示图形 plt.show()