Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用dgrid3d时,gnuplot忽略x和y范围_Gnuplot - Fatal编程技术网

使用dgrid3d时,gnuplot忽略x和y范围

使用dgrid3d时,gnuplot忽略x和y范围,gnuplot,Gnuplot,我有一个散乱数据文件(点大致位于规则网格的顶点上):前两列是x和y坐标,然后还有几列是我需要绘制的其他数据。我想获得表示这些数据的颜色贴图,由于点是分散的,所以我使用dgrid3d生成一个规则的网格,并具有更平滑的表示。我的问题是,当我设置dgrid3d时,gnuplot会忽略x和y范围,并在图框外绘制栅格。Bellow是重现我的问题的最基本脚本: set view map set yrange [0.4:0.8] set xrange [0.2:0.8] set pm3d set style

我有一个散乱数据文件(点大致位于规则网格的顶点上):前两列是x和y坐标,然后还有几列是我需要绘制的其他数据。我想获得表示这些数据的颜色贴图,由于点是分散的,所以我使用dgrid3d生成一个规则的网格,并具有更平滑的表示。我的问题是,当我设置dgrid3d时,gnuplot会忽略x和y范围,并在图框外绘制栅格。Bellow是重现我的问题的最基本脚本:

set view map
set yrange [0.4:0.8]
set xrange [0.2:0.8]
set pm3d 
set style data lines
set dgrid3d 100,100,4
splot "./Terr.dat" using 1:2:(log($6)) pal
我得到的结果是下图:

设置pm3dclip1inclip4in选项无效。如果我取消设置“查看”,使结果为三维曲面,它也会忽略x和y范围。我可以很容易地编写一个脚本来预处理数据并删除我想要的范围之外的点,但是gnuplot应该能够管理这一点。有什么想法吗

我正在使用gnuplot4.2补丁级别6


谢谢

我不确定是否能够重现您的问题,但您的脚本中有一些有趣的地方。当您使用
pm3d
绘图时,我不太确定线
设置样式数据线在这种情况下应该做什么。我创建了一个简单的数据文件:

0 1 4
1 0 5
0 0 2
1 1 3
我用这个脚本绘制了它:

set view map
set yrange [0.4:0.8]
set xrange [0.2:0.8]
set dgrid3d 100,100,4
splot 'test.dat' u 1:2:3 w pm3d
它似乎“起作用”(我使用的是gnuplot 4.6.0)

然而,有几件事值得注意——请注意,我的原始域中的每个点都超出了给定的x和y范围。Gnuplot在构建曲面时仍然使用这些点。这也很好地演示了gnuplot加权函数的样子(尽管我们可以通过在数据文件中只使用1个点来做得更好)


更新 在我的两台计算机之间,我可以访问gnuplot4.2.6、gnuplot4.3.0、gnuplot4.4.2、gnuplot4.6.0、gnuplot4.6.1和gnuplot4.7.0。gnuplot4.2.6是展示您描述的行为的唯一版本。在我看来,他们在4.3CVS分支中更改了pm3d的行为,但没有将这些更改推回到gnuplot4.2中。最简单的修复方法是升级到gnuplot4.6——几个月来我一直将它作为默认的gnuplot使用,它看起来相当稳定