我希望能够在时间轴上看到某些时间列表之间的差异。
我可以使用开始和结束时间元组返回它们:
[(0.15119, 0.43909), (0.43909, 0.72698), (0.72698, 1.01189), (1.01189, 1.2968)]
或只是开始时间:
[0.15119, 0.43909, 0.72698, 1.01189]
我想最终得到这样的结果:
我查看了graphviz
,matplotlib
和networkx
,我猜这可能是一个相对简单的图表。也许完全不同的工具是最有意义的。
有人可以提供正确方向的示例或推动。
答案 0 :(得分:1)
我认为您需要做的就是使用起始值和结束值作为x构建一系列粗线,将零作为y构建(如果我理解正确的话)。
例如:
import matplotlib.pyplot as plt
x=[(0.15119, 0.43909), (0.43909, 0.72698), (0.72698, 1.01189), (1.01189, 1.2968)]
for i in x:
plt.plot(i,[0,0],linewidth=10)
plt.show()
顺便说一句,你可以使用numpy从第一组(加上最后结束时间)轻松完成第二组次数:
import numpy as np
times = np.array([0.15119, 0.43909, 0.72698, 1.01189, 1.2968])
time_pairs = np.transpose([times[:-1],times[1:]])
time_pairs.tolist()
给出: [[0.15119,0.43909],[0.43909,0.726698],[0.72698,1.01189],[1.01189,1.2968]]