matplotlib 怎么可能用这些数据绘制图形。问题是可视化从第 2 列到第 3 列的距离。最后它应该看起来像甘特图。
0 0 0.016 19.833
1 0 19.834 52.805
2 0 52.806 84.005
5 0 84.012 107.305
8 0 107.315 128.998
10 0 129.005 138.956
11 0 138.961 145.587
13 0 145.594 163.863
15 0 163.872 192.118
16 0 192.127 193.787
17 0 193.796 197.106
20 0 236.099 246.223
25 1 31.096 56.180
27 1 58.097 64.857
28 1 64.858 66.494
29 1 66.496 89.908
31 1 89.918 111.606
34 1 129.007 137.371
35 1 137.372 145.727
39 1 176.097 209.461
42 1 209.476 226.207
44 1 226.217 259.317
46 1 259.329 282.488
47 1 282.493 298.905
第 1 列需要 2 种颜色。对于 y 轴,选择了第 0 列,对于 x 轴,第 2 列和第 3 列很重要。对于每一行,应绘制一条线。第2列是开始时间,第3列是停止时间。 最佳答案
如果我理解正确,您想在第 3 列和第 4 列的 x 值之间绘制一条水平线,y 值等于第 0 列中的值。在两个 x 之间的给定 y 值处绘制一条水平线-values,你可以使用 hlines
。我相信下面的代码是一个可能的解决方案。
import numpy as np
import matplotlib.pyplot as plt
# Read data from file into variables
y, c, x1, x2 = np.loadtxt('data.txt', unpack=True)
# Map value to color
color_mapper = np.vectorize(lambda x: {0: 'red', 1: 'blue'}.get(x))
# Plot a line for every line of data in your file
plt.hlines(y, x1, x2, colors=color_mapper(c))
关于python - 使用 python matplotlib 创建甘特图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18066781/