2016-08-04 99 views
2

我正在处理彩色地图,但遇到一些问题。这里是我的代码:GNUplot:从文件中绘制彩色地图

set size 1,1; set origin 0,0 
set grid layerdefault 
set xlabel "x (rdaius)" 
set ylabel "z (radius)" 

set sample 11; set isosamples 11 
set pm3d map 
set palette 
set colorbox 
set lmargin 0 


set pm3d flush begin 
splot 'density.txt' u 1:2:3 

但是,错误消息:

警告:单等值线(扫描)是不够的,一个pm3d情节。

如何解决这个问题?

而且,我尝试使用plot 'density.txt' u 1:2:3 with image,也存在错误消息:

像素数目不能被分解成匹配电网的整数。 N = 36759 K = 201

数据文件density.txt被格式化为

X  Y  N Part. 
===== ===== ===== 
-10.0 -10.0  10.0 
-10.0 -9.9  324.0 
-10.0 -9.8  256.5 
-10.0 -9.7  0.0 
-10.0 -9.6  32.5 
-10.0 -9.5  7.8 
-10.0 -9.4  66.4 
...  ...  ... 

其中x和y的范围为-10〜10,N.部分从0.0范围为1000.0〜 。

谢谢!

回答

2

您需要在您的第一个维度增加值之前后一个空行:

#data.dat 
<x1> <y1> <z11> 
<x1> <y2> <z12> 
<x1> <y3> <z13> 
<x1> <y4> <z14> 

<x2> <y1> <z21> 
<x2> <y2> <z22> 
<x2> <y3> <z23> 
<x2> <y4> <z24> 

... 

<xn> <y1> <zn1> 
<xn> <y2> <zn2> 
<xn> <y3> <zn3> 
<xn> <y4> <zn4> 

您还需要与splot 'data.dat' every ::2 ...

+0

喜来跳过你的头,感谢您的帮助!在我遵循你的建议之后,警告信息消失了;但情节仍然是空的(网格,颜色条和轴是正常的)。我无法弄清楚为什么这个数字还是空的。 –

+0

你使用'splot ...和pm3d'吗? –

+0

呃,我发现了什么问题。我没有注意到我留下了2个空白行,以至于无法成功处理。谢谢! –