我正在寻找一种简单的方法(如果可能的话)来表示cpu上一系列任务的调度,如幻灯片5 here。
我想有不同的线,每个任务一个,我可以代表到达时间,截止日期等等。我想用matplotlib来做,但目前我不知道这是一个简单的方法。
答案 0 :(得分:1)
我首先检查matplotlib gallery类似的情节。这里subplot
似乎是合适的,因此从this开始可能是一种选择。
如果你想删除一些刺(轴),你可以进一步检查this example。
要获得填充的块,我会使用标准的fill_between
或fill
调用各自的数据点,例如, this example
一个简单的例子可能是:
import matplotlib.pyplot as plt
cpu1_t = [0,1,1,3,3,4,5]
cpu1_p = [1,1,0,0,1,1,0]
cpu2_t = [0,1,1,3,3,4,5]
cpu2_p = [0,0,1,1,0,0,1]
fig = plt.figure()
# plot 1
ax1 = fig.add_subplot(211)
ax1.fill_between(cpu1_t, cpu1_p,0, color='b', edgecolor='k')
ax1.set_ylabel(r'$\tau_1$', size=14, rotation=0)
# plot 2
ax2 = fig.add_subplot(212)
ax2.fill_between(cpu2_t, cpu2_p,0, color='r', edgecolor='k')
ax2.set_ylabel(r'$\tau_2$', size=14, rotation=0)
# customize axis
for ax in [ax1, ax2]:
ax.set_ylim(0,2)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')
您可以进一步玩主要和次要网格,刻度等。 当然,这只是创造这种情节的一种可能方法。