使用Gnuplot绘制三维图形

使用Gnuplot绘制三维图形,gnuplot,Gnuplot,我试图用Gnuplot制作一个三维图形,使用了以下命令。但问题是在y值的0和0.5之间不应该有红色,直到y值几乎达到0为止。谁能帮我一下吗?谢谢 set terminal postscript color set output "Figure.ps" unset key set xlabel "X" set ylabel "Y" set autoscale xfix set autoscale yfix set xtics 200 out nomirror set ytics out nomir

我试图用Gnuplot制作一个三维图形,使用了以下命令。但问题是在y值的0和0.5之间不应该有红色,直到y值几乎达到0为止。谁能帮我一下吗?谢谢

set terminal postscript color
set output "Figure.ps"
unset key
set xlabel "X"
set ylabel "Y"
set autoscale xfix
set autoscale yfix
set xtics 200 out nomirror
set ytics out nomirror
set pm3d map
set pm3d at b
set pm3d interpolate 0,0
set palette defined (0 "blue", 10 "cyan", 30 "green", 45 "yellow", 70 "orange", 100 "red")
set cbrange [0:0.14]
set ticslevel 0
set dgrid3d 150,300 gauss 0.07
set hidden3d
splot "Total.dat" u 2:1:3 w l
数据文件为:

通过下面的命令,我得到了这个数字

set pm3d map
set pm3d at b
set pm3d interpolate 0,1
set pm3d corners2color c1
set palette defined (0 "blue", 10 "cyan", 30 "green", 45 "yellow", 70 "orange", 100 "red")
set cbrange [0:0.14]
set ticslevel 0
splot "Total.dat" u 2:1:3
现在,如果我在没有pm3d命令的情况下绘制数据,我可以得到下图。我认为问题是我的数据沿y轴分布不均匀,因此图中有空格。如果我使用pm3d命令,则会出现开头提到的问题。我想到的唯一方法是通过在数据中将Z值设置为0来手动填充空白,但我不知道如何通过仅更改gnuplot中的命令来解决此问题


该图是正确的:根据您的数据文件,在y=0时,x>648的值高于0.14。y=1.1处的下一行的值高于x>302的限制。在这两行之间可以得到颜色值的插值。顺便说一句:你不需要隐藏3D,w l。你需要dgrid3d做什么?你已经有一个固定的网格了。克里斯托夫,谢谢你的评论。但是如果我想去掉y=0和y=1.1之间的颜色,我该怎么办呢?再次感谢。您可以使用设置pm3d corners2color的不同设置。嗨,克里斯,我尝试了不同的corner2color设置,但y=0和y=1.1之间仍然存在颜色。使用c1选项时,y=1.1似乎没有变宽,但y=0仍然变宽到上面的y值。我很困惑。对于选项c1、c2、c3或c4中的一个,您只能得到y=1.1的值