从CDR记录中绘制详细的干线占用

时间:2015-04-01 10:44:00

标签: gnuplot diagram

所以我已经像这样处理了CDR文件

250  0   2014/11/10 18:00:51      2014/11/10 18:01:13    00:00:22
249  0   2014/11/10 17:59:17      2014/11/10 18:01:29    00:02:12
249  0   2014/11/10 18:01:45      2014/11/10 18:01:53    00:00:08
251  0   2014/11/10 18:00:58      2014/11/10 18:04:21    00:03:23
253  4   2014/11/10 18:04:29      2014/11/10 18:04:52    00:00:23
249  0   2014/11/10 18:02:24      2014/11/10 18:05:04    00:02:40
265  4   2014/11/10 18:05:02      2014/11/10 18:05:10    00:00:08
249  0   2014/11/10 18:05:40      2014/11/10 18:05:40    00:00:00
273  4   2014/11/10 18:04:58      2014/11/10 18:05:49    00:00:51
249  0   2014/11/10 18:05:50      2014/11/10 18:05:50    00:00:00
249  0   2014/11/10 18:05:58      2014/11/10 18:06:34    00:00:36
249  0   2014/11/10 18:06:51      2014/11/10 18:08:44    00:01:53
249  0   2014/11/10 18:13:47      2014/11/10 18:13:47    00:00:00
250  0   2014/11/10 18:13:24      2014/11/10 18:14:08    00:00:44
270  4   2014/11/10 18:14:09      2014/11/10 18:14:43    00:00:34
249  0   2014/11/10 18:15:36      2014/11/10 18:15:36    00:00:00
267  4   2014/11/10 18:15:17      2014/11/10 18:16:31    00:01:14
269  4   2014/11/10 18:11:31      2014/11/10 18:19:27    00:07:56
249  0   2014/11/10 18:25:06      2014/11/10 18:26:28    00:01:22
250  0   2014/11/10 18:26:09      2014/11/10 18:26:42    00:00:33

第一列是频道号,第二列是方向(传出/传入),第三列是开始日期/时间,第四列是结束日期/时间,最后一列是会话的持续时间。 是否可以绘制类似于甘特图的图表,其中X轴上的日期/时间(取自数据)和Y轴上的每一行都会显示每个通道,因此每个转换将在此行上显示一个段?

1 个答案:

答案 0 :(得分:0)

您可以使用vectors绘图样式绘制信息。使用arrowstyle variable,您可以为来电和来电使用不同的外观:

set ylabel 'Channel number'
set xlabel 'time'

incoming = 0
set style arrow 1 lc rgb 'green' lw 2 size char 0.5,90 heads
set style arrow 2 lc rgb 'red' lw 2 size char 0.5,90 heads

set xdata time
set timefmt '%Y/%m/%d %H:%M:%S'

plot 'data.txt' using 3:1:(strptime('%H:%M:%S', strcol(7))):(0):($2 == incoming ? 1 : 2) with vectors arrowstyle variable notitle

enter image description here