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

Plot detailed trunk occupation from CDR records

所以我是这样处理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

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

您可以使用 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):( == incoming ? 1 : 2) with vectors arrowstyle variable notitle