1

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

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 2和之间绘制图表column 1 and column 3。现在第 2 列和第 3 列中的值按严格的升序排列。我希望以这样一种方式缩放图表,使第 2 列和第 3 列的第 0 行被视为基值或“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"
~                                            
4

1 回答 1

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"

结果是:

在此处输入图像描述

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

于 2013-08-26T21:53:04.440 回答