gnuplot:矩阵图的比例轴

时间:2015-04-27 20:48:17

标签: gnuplot

我有一个矩阵,output.dat:

0   0   0   0   0   0   3   7   1   0   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   0   0   11  16  6   1   0   0   0   0   0   0   0   0   0
0   0   0   0   0   7   8   4   16  4   1   0   0   0   0   0   0   0   0   0
0   0   0   0   0   2   2   5   11  3   1   0   0   0   0   0   0   0   0   0
0   0   0   0   0   3   1   9   10  9   0   0   0   0   0   0   0   0   0   0
0   0   0   0   0   12  28  13  11  5   0   0   0   0   0   0   0   0   0   0
0   0   0   0   1   6   17  33  14  2   0   5   2   0   0   0   0   0   0   0
0   0   0   0   0   1   13  15  11  6   0   0   5   7   0   0   0   0   0   0
0   0   0   0   0   0   3   3   8   3   0   0   0   3   0   0   0   0   0   0
0   0   0   0   0   0   0   8   8   8   1   2   1   3   2   0   0   0   0   0
0   0   0   0   0   0   0   1   17  10  4   7   4   12  3   0   0   0   0   0
0   0   0   0   0   3   2   3   6   22  9   5   8   5   1   0   0   0   0   0
0   0   0   0   0   1   5   7   10  35  4   6   6   9   4   0   0   0   0   0
0   0   0   0   0   2   12  12  30  52  23  11  8   7   5   1   0   0   0   0
0   0   0   0   1   7   25  16  33  30  26  16  21  19  5   2   0   0   0   0
0   0   0   0   0   0   12  36  19  22  28  19  30  17  9   0   0   0   0   0
0   0   0   0   0   11  18  12  37  32  27  26  33  21  10  12  3   0   0   0
0   0   0   0   0   11  14  23  44  59  45  26  28  9   3   7   0   0   0   0
0   0   0   0   0   0   0   8   19  23  22  11  34  32  25  7   0   0   0   0
0   0   0   0   0   0   0   0   4   8   9   16  21  26  20  11  12  4   6   2

在bash脚本中使用它会产生一个完美的矩阵图:

echo "set terminal png font arial 30 size 1600,1200;
set output 'output.png';set xrange [1:20];set yrange [1:20];set xlabel 'x';set ylabel 'y';
set pm3d map;set pm3d interpolate 0,0;splot 'output.dat' matrix" | gnuplot

但是,我希望x轴和y轴说“0 ... 1”而不是“1 ... 20”。如果我只是将xrange [1:20]更改为[0:1],则不会绘制任何数据。缩放数据不起作用。使用xticlabels(至少据我所知)还没有成功改变轴。

如何将x和y更改为“0 ... 1”而不是“1 ... 20”?

1 个答案:

答案 0 :(得分:5)

我不知道您尝试了什么,但在using语句中进行缩放可以正常工作:

echo "set terminal pngcairo;set autoscale fix; set tics out nomirror; 
      set xlabel 'x';set ylabel 'y'; set pm3d map interpolate 0,0; 
      splot 'output.dat' matrix using (\$1/19.0):(\$2/19.0):3" | gnuplot > output.png

enter image description here