简介
水平断条图(horizontal sequence of rectangles)是经常会用到的图表,其可以展现每个属性的数据的时间分布的情况。
使用Python的Matplotlib可以方便地展现
步骤
导入库
import matplotlib.pyplot as plt
定义3组时间分布的数据。
其中的每个元组表示连续的时间段,这里以秒为时间单位举例,如(4, 1)表示从时间4秒开始并连续1秒钟,即4-5秒区间。
d1 = [(0, 2), (4, 1), (10, 3)]
d2 = [(2, 2), (5, 3), (13, 2)]
d3 = [(8, 2), (15, 5)]
datas = [d1, d2, d3]
定义3组数据不同的颜色
colors = ['r', 'g', 'b']
定义图表大小
fig, ax = plt.subplots(figsize=(12, 6))
使用循环分别画出3组数据。其中的[x+1-0.1, 0.2]表示这组数据在Y轴上的位置。
for x in range(3):
ax.broken_barh(datas[x], [x+1-0.1, 0.2], facecolor=colors[x])
设置3组数据在Y轴各自的标签,这里标签为['A', 'B', 'C']
ax.set_yticks([i for i in range(1, 4)])
ax.set_yticklabels(['A', 'B', 'C'])
画图,成型收工。
plt.show()
完整代码
import