比较距离列表的图形

Graphic to Compare Lists of Distances

我希望能够可视化时间轴上某些时间列表之间的差异。

我可以 return 它们带有开始和结束时间元组:

[(0.15119, 0.43909), (0.43909, 0.72698), (0.72698, 1.01189), (1.01189, 1.2968)]

或只是开始时间:

[0.15119, 0.43909, 0.72698, 1.01189]

我想以这样的方式结束:

我看过 graphvizmatplotlibnetworkx,我猜这可能是一个相对简单的图表。也许有一个完全不同的工具最有意义。

有人可以提供一个例子或向正确的方向推动。

我认为您需要做的就是使用起始值和结束值作为 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.72698], [0.72698, 1.01189], [1.01189, 1.2968]]