使用预定义颜色映射的GNUplot表面

时间:2014-10-21 10:14:50

标签: gnuplot surface colormap

我的数据文件是9800x128的浮点值矩阵,我在绘制表面图时遇到问题,看起来应该类似于MATLABs surf()图。

使用:

splot '/directory/data.txt' every ::1:1 matrix with lines

工作正常,但一切都是一种颜色,这使得无法看到发生了什么。我导入的调色板是:

set palette defined (0 0 0 0.5, 1 0 0 1, 2 0 0.5 1, 3 0 1 1, 4 0.5 1 0.5, 5 1 1 0, 6 1 0.5 0, 7 1 0 0, 8 0.5 0 0)

这类似于MATLAB中使用的默认值。使用此调色板绘制2D轮廓:

plot '/directory/data.txt' matrix notitle with image

也可以正常工作,只要我尝试将彩色地图与表面图结合,就会如下:

splot' /directory/data.txt'每个:: 1:1矩阵与图像

我收到以下警告信息,我留下了空图。

warning: Number of pixels cannot be factored into integers matching grid. N = 1244473  K = 762

1 个答案:

答案 0 :(得分:1)

如果您的数据保存为矩阵格式,即排列为

z00 z10 z20 z30 ...
z01 z11 z21 z31 ...
z02 z12 z22 z32 ...
z03 z13 z23 z33 ...
...

然后你可以用

绘制数据
set palette defined (0 0 0 0.5, 1 0 0 1, 2 0 0.5 1, 3 0 1 1, 4 0.5 1 0.5, 5 1 1 0, 6 1 0.5 0, 7 1 0 0, 8 0.5 0 0)
splot 'data.txt' matrix with pm3d