So, it’s often the case that I’ll want to use gnuplot to make a plot of some data inside a file, which takes the format of a report. Typically there will be some preamble, a description of the columns or whatever, followed by the table that we’re interested in.
For example, I want to plot the data in a file that looks a little like this. Actually a lot like this.
42 Run warming up at 0.269 seconds 43 Run starting at 600.276 seconds 44 Stopping on signal 15 45 Run ramp down at 11074.376 seconds 46 Run finished at 11075.936 seconds 47 48 IOPs: 2999.07 49 I/Os during measurement: 31412590 50 Reads: 12389229 51 Writes: 19023361 52 Run Length: 10474.100 seconds 53 54 55 SPC-1 comparison data. Invalid if response time > 30mS. 56 May not be predictive of real SPC-1 latency. NetApp Confidential. 57 invl i/o resp resp read write fifo 58 rate time max time time time 59 08:24:52.867 1 3004.07 12.11 192.10 28.01 1.74 2.73 60 08:25:52.767 2 2997.96 12.79 138.44 29.86 1.78 0.92 61 08:26:52.667 3 3006.04 13.59 207.66 31.36 2.01 2.59 62 08:27:52.567 4 2938.61 15.23 202.14 35.35 2.09 56.50 63 08:28:52.467 5 3050.85 23.16 216.12 53.91 3.15 292.74 64 08:29:52.367 6 2994.54 24.10 223.62 56.14 3.28 301.11
The first column here is just the line number from within vim. So, anyway, I know that my table starts on line 59. In gnuplot, I then use the ‘every’ command to skip to line 59, then plot the fourth column of every row thereafter.
gnuplot> plot "data.out.29" using 4 every 1::59 w lp t "29, Avg Response time"