让我们说您有一个python字典,描述了某项活动在不同时间发生的“事件”。
activity = {
"start_time":"2018-09-05 06:30:53.242",
"end_time":"2018-09-09 09:30:53.242",
"eventType1":[
{
"event_pos":123,
"event_time":"2018-09-05 06:50:53.242",
"message":"blah"
},
{
"event_pos":125,
"event_time":"2018-09-05 07:50:53.242",
"message":"type1 event blah"
}
],
"eventType2":[
{
"event_pos":18,
"event_time":"2018-09-05 06:40:58.242",
"message":"type2 event1"
},
{
"event_pos":700,
"event_time":"2018-09-05 08:59:58.242",
"message":"type2 event2"
}
]
}
我的意图是在图形和/或表格中可视化它。最初,我将其转换为表,前两行为开始和结束,事件实例,消息和时间为后续行。
问题在于事件可以重复,并且因为它们可以重复,消息被重复(以毫秒为单位)。因此,后续事件列表可以非常迅速地增长,并且重复消息的间隔仅为毫秒。这使表格很难看清。
同时,我所做的是通过消息获取事件的唯一实例,并显示每个事件消息的出现次数。这样可以清理事情,但是可视化这些事件发生的位置也很有用。
根据类别创建事件的时间表。
此信息之后-> Matplotlib timelines
但是我在获取类别(eventTypes)作为y轴和python日期时间作为x轴时遇到麻烦。我将其转换为matplotlib日期时间字符串,但经常出现以下问题:
ValueError: x and y must have same first dimension, but have shapes (20,) and (2,)