""" ============== Eventplot demo ============== An `~.axes.Axes.eventplot` showing sequences of events with various line properties. The plot is shown in both horizontal and vertical orientations. """ import matplotlib.pyplot as plt import numpy as np import matplotlib matplotlib.rcParams['font.size'] = 8.0 # Fixing random state for reproducibility np.random.seed(19680801) # create random data data1 = np.random.random([6, 50]) # set different colors for each set of positions colors1 = [f'C{i}' for i in range(6)] # set different line properties for each set of positions # note that some overlap lineoffsets1 = [-15, -3, 1, 1.5, 6, 10] linelengths1 = [5, 2, 1, 1, 3, 1.5] fig, axs = plt.subplots(2, 2) # create a horizontal plot axs[0, 0].eventplot(data1, colors=colors1, lineoffsets=lineoffsets1, linelengths=linelengths1) # create a vertical plot axs[1, 0].eventplot(data1, colors=colors1, lineoffsets=lineoffsets1, linelengths=linelengths1, orientation='vertical') # create another set of random data. # the gamma distribution is only used for aesthetic purposes data2 = np.random.gamma(4, size=[60, 50]) # use individual values for the parameters this time # these values will be used for all data sets (except lineoffsets2, which # sets the increment between each data set in this usage) colors2 = 'black' lineoffsets2 = 1 linelengths2 = 1 # create a horizontal plot axs[0, 1].eventplot(data2, colors=colors2, lineoffsets=lineoffsets2, linelengths=linelengths2) # create a vertical plot axs[1, 1].eventplot(data2, colors=colors2, lineoffsets=lineoffsets2, linelengths=linelengths2, orientation='vertical') plt.show() # %% # .. tags:: # # plot-type: eventplot # level: beginner # purpose: showcase