我目前有一个数据集,其中每一行有效或无效,有效性由一列声明,该列为True或False
数据集的一个示例可以在下面的代码段中可视化:
TimeStamp Avg. Values ... Validity
0 2015-02-14 20:30:00 5.1736 ... False
1 2015-02-14 20:40:00 16.6266 ... True
2 2015-02-14 20:50:00 12.7667 ... True
3 2015-02-14 21:00:00 11.6077 ... False
4 2015-02-14 21:10:00 19.6851 ... True
... ... ... ...
1000 2015-06-12 23:30:00 1.699 ... True
1001 2015-06-12 23:40:00 2.2468 ... False
1002 2015-06-12 23:50:00 3.1147 ... False
1003 2015-06-13 00:00:00 6.141 ... True
1004 2015-06-13 00:10:00 3.792 ... True
我的目标是在考虑列有效性的情况下,绘制有效性,就像甘特图一样。所以我的想法是,我将生成水平条,指示一段时间内数据的类别。我编了一个例子,没有反映上述数据,但它说明了我想要实现的是:
到目前为止,我看到的大多数水平条形图只显示每个类别的数据量。那么,是否有可能以某种方式将其绘制为甘特图,显示随时间变化的类别
使用
plt.barh
可以指示所有开始位置,使用10分钟作为条形图的宽度。将非通缉位置着色为“无”:这里有一个稍微复杂一点的方法,它允许不规则的时间戳
首先将布尔列转换为整数(
0
表示false
,1
表示true
)。然后计算连续条目之间的差异。这将在值保持不变时显示零,其中aFalse
翻转为aTrue
,a+1
翻转回False
。发生这种情况的索引可用于索引时间戳。为了避免第一个和最后一个索引出现问题,需要在数组的起始端追加一个伪值相关问题 更多 >
编程相关推荐