gnuplot不完整的图形

时间:2013-04-07 20:28:51

标签: gnuplot

我想绘制名为quad.dat

的数据表
#size  time unoptimized blas optimized
2000        0.038101        0.012038        0.012070
4000        0.153213        0.031582        0.048172
6000        0.344972        0.058697        0.108295
8000        0.616240        0.110157        0.192449
10000       0.957405        0.159003        0.300352
12000       1.378795        0.232613        0.431949
14000       1.877082        0.312295        0.587642
16000       2.451135        0.398170        0.766826
18000       4.364723        0.508351        0.970915
20000       5.480937        0.625813        1.197483
22000       6.593878        0.760008        1.448211
24000       7.757721        0.902324        1.714848
26000       9.107044        1.051169        2.018033

这是我的gnuplot脚本:

set ylabel "Time [s]"
set xlabel "matrix size[ in k(1000)]"
set xrange [0:26]
set yrange [0:15]
plot "quad.dat" using 2 title "unoptimized" with lines, \
     "quad.dat" using 3 title "blas" with lines,\
     "quad.dat" using 4 title 'optimized' with lines
pause -1

以下是实际情节的样子:

demo-plot

正如你所看到的,并非所有的点都被绘制出来,我无法理解为什么,它似乎停留在像12k这样的东西上。

1 个答案:

答案 0 :(得分:1)

当您只给using一列绘图时,gnuplot会假设这些是y值,而x值是使用连续整数填充的。这不是您想要的(如果它在12处停止,则表示文件中有12个数据点)。

你真的想告诉gnuplot x值显式

plot "quad.dat" using ($1/1000.):2 title "unoptimized" with lines,\
     "quad.dat" using ($1/1000.):3 title "blas" with lines,\
     "quad.dat" using ($1/1000.):4 title 'optimized' with lines

(这将第一列中的数字除以1000以与x标签一致)。