Gnuplot 基于开/关打印多个时间点
我有一大系列的数据库连接,这些连接使用了一段时间,然后在再次调用之前停止 我希望绘制它们在一段时间内的使用情况,因此我将为每个连接绘制一条线,随着时间的推移,这些线会打开和关闭 数据基本上可以格式化,但是需要格式化,但作为一个例子,它可以如下所示Gnuplot 基于开/关打印多个时间点,gnuplot,Gnuplot,我有一大系列的数据库连接,这些连接使用了一段时间,然后在再次调用之前停止 我希望绘制它们在一段时间内的使用情况,因此我将为每个连接绘制一条线,随着时间的推移,这些线会打开和关闭 数据基本上可以格式化,但是需要格式化,但作为一个例子,它可以如下所示 2018-03-01 20:31:00,000Z foo start 2018-03-01 20:31:00,100Z bar start 2018-03-01 20:31:00,300Z bar stop 2018-03-01 20:31:00,40
2018-03-01 20:31:00,000Z foo start
2018-03-01 20:31:00,100Z bar start
2018-03-01 20:31:00,300Z bar stop
2018-03-01 20:31:00,400Z foo stop
2018-03-01 20:31:00,600Z bar start
2018-03-01 20:31:00,900Z bar stop
foo ****
bar ** ***
0123456789
情节是这样的
2018-03-01 20:31:00,000Z foo start
2018-03-01 20:31:00,100Z bar start
2018-03-01 20:31:00,300Z bar stop
2018-03-01 20:31:00,400Z foo stop
2018-03-01 20:31:00,600Z bar start
2018-03-01 20:31:00,900Z bar stop
foo ****
bar ** ***
0123456789
bootom上的数字表示100千秒我认为这超出了“纯”Gnuplot所能提供的范围。但是,可以对数据文件进行预处理,以使其更易于Gnuplot消化。例如,下面的示例脚本遍历数据,以100毫秒为单位表示日期/时间,并为每个事件(
foo
/bar
)标记相应的时间t
所述事件在时间t
有多少实例处于活动状态。加载整个文件后,它将处理这些数据,并为每个事件打印事件至少运行1个实例的所有时间间隔。它的优点是还支持相同类型的重叠事件(即同时连接)
对于以下示例数据:
2018-03-01 20:31:00,000Z foo start
2018-03-01 20:31:00,000Z foo start
2018-03-01 20:31:00,100Z bar start
2018-03-01 20:31:00,300Z bar stop
2018-03-01 20:31:00,400Z foo stop
2018-03-01 20:31:00,600Z bar start
2018-03-01 20:31:00,900Z bar stop
2018-03-01 20:31:00,900Z foo stop
这将产生:
#0 bar
1 0 1
3 0 1
6 0 1
9 0 1
#1 foo
0 1 2
4 1 2
4 1 1
9 1 1
这意味着,例如,事件1
(foo
)有两个实例在区间[0,4]
上运行,而[4,9]
上只有一个实例。然后,该输出可由Gnuplot直接处理