gnuplot:绘制具有基本偏移的图形

时间:2013-08-26 21:33:50

标签: bash sed awk gnuplot

我有一个包含一些数据的文件,如下所示。

1  0x5212cb03ca115ac0  0x3665fb5f1ac1
2  0x5212cb03ca115cc0  0x3665fb5f1ac7
3  0x5212cb03ca115ea0  0x3665fb5f1acd
4  0x5212cb03ca1160c0  0x3665fb5f1ad3
5  0x5212cb03ca1162a0  0x3665fb5f1ad9
6  0x5212cb03ca1164c0  0x3665fb5f1ade
7  0x5212cb03ca1166a0  0x3665fb5f1ae4
8  0x5212cb03ca1168a0  0x3665fb5f1aea
9  0x5212cb03ca116aa0  0x3665fb5f1af0
10  0x5212cb03ca116ca0  0x3665fb5f1af6
11  0x5212cb03ca116ea0  0x3665fb5f1afc
12  0x5212cb03ca1170a0  0x3665fb5f1b02
13  0x5212cb03ca117280  0x3665fb5f1b08
14  0x5212cb03ca117480  0x3665fb5f1b0e
15  0x5212cb03ca117680  0x3665fb5f1b14
16  0x5212cb03ca1178a0  0x3665fb5f1b1a
17  0x5212cb03ca117a80  0x3665fb5f1b20
18  0x5212cb03ca117c80  0x3665fb5f1b26
19  0x5212cb03ca117e80  0x3665fb5f1b2c
20  0x5212cb03ca118080  0x3665fb5f1b31
21  0x5212cb03ca118280  0x3665fb5f1b37
22  0x5212cb03ca118480  0x3665fb5f1b3d

我正在尝试在column 1 AND column 2column 1 and column 3之间绘制图表。 现在第2列和第3列中的值严格按升序排列。我希望以第2列和第3列的ROW 0作为基值OR'0'的方式缩放图形。 我想要两个图表 '第1列和第2列'和'第1列和第3列'将在同一图表中绘制,以便我可以比较两个图形的斜率。我正在使用的模板plt文件如下所示

#!/bin/bash

set terminal pngcairo size 1280,960 enhanced font 'Verdana,10'

set xlabel "seq number"
set ylabel "timestamp"

set title "ts vs sequence number"

set key reverse Left outside
set grid

set pointsize 1.0
set style data linespoints

set output 'erf_ts_plot.png'
plot "output.txt" using 1:2 title "erf_ts"
set output 'ixia_ts_plot.png'
plot "output.txt" using 1:3 title "ixia_ts"
~                                            

1 个答案:

答案 0 :(得分:2)

要提取您可以使用的第一行的值,例如stats命令:

stats "output.txt" every ::::0 using 2:3

every ::::0将命令限制为第一行,并使用using语句获取指定表达式的统计信息。在您的情况下,第二列的值存储在STATS_min_x变量中,STATS_min_y变量中的第三列。

要将两个图形合二为一,您只需要使用一个plot命令,两个图形用逗号分隔。完整的脚本如下所示:

set terminal pngcairo size 1280,960

set xlabel "seq number"
set ylabel "timestamp"

set title "ts vs sequence number"

set key reverse Left outside
set grid

set pointsize 1.0
set style data linespoints

stats "output.txt" every ::::0 using 2:3

set output 'erf_ts_plot.png'
plot "output.txt" using 1:($2 - STATS_min_x) title "erf_ts",\
     "" using 1:($3 - STATS_min_y) title "ixia_ts"

结果是:

enter image description here

我假设ts是下标,然后必须在括号中才能这样设置。否则只有t是下标。