gnuplot中的插值伪影

gnuplot中的插值伪影,plot,gnuplot,Plot,Gnuplot,我目前正在为我的学位写一篇论文,我有一个问题,我试图用Gnuplot绘制3个图表 我得到的一些数据点如下所示: ... 100.000000 0.120000 2.000000 0.052724 6682.801488 100.000000 0.130000 2.000000 0.055570 6805.632674 100.000000 0.140000 2.000000 0.058270 6912.462994 100.000000 0.1500

我目前正在为我的学位写一篇论文,我有一个问题,我试图用Gnuplot绘制3个图表

我得到的一些数据点如下所示:

...
100.000000   0.120000   2.000000   0.052724 6682.801488 
100.000000   0.130000   2.000000   0.055570 6805.632674 
100.000000   0.140000   2.000000   0.058270 6912.462994 
100.000000   0.150000   2.000000   0.060815 7006.219537 
100.000000   0.160000   2.000000   0.063252 7098.284918 
100.000000   0.170000   2.000000   0.065541 7621.135706 
100.000000   0.180000   2.000000   0.067744 8383.880473 
100.000000   0.190000   2.000000   0.069822 9030.334374 
100.000000   0.200000   2.000000   0.071812 9574.679479 
100.000000   0.210000   2.000000   0.073712 10001.423400 
100.000000   0.220000   2.000000   0.075520 10324.290168 
100.000000   0.230000   2.000000   0.077267 10577.919498 
100.000000   0.240000   2.000000   0.078932 10731.859176 
100.000000   0.250000   2.000000   0.080537 10781.566931 
100.000000   0.260000   2.000000   0.082081 10687.175109 
100.000000   0.270000   2.000000   0.083562 10580.855944 
100.000000   0.280000   2.000000   0.085001 10526.856376 
100.000000   0.290000   2.000000   0.086381 10581.738511 
100.000000   0.300000   2.000000   0.087723 10731.950591 
100.000000   0.310000   2.000000   0.089018 10909.067948 
100.000000   0.320000   2.000000   0.090281 11099.323889 
100.000000   0.330000   2.000000   0.091511 11296.953911 
100.000000   0.340000   2.000000   0.092710 11499.793402 
100.000000   0.350000   2.000000   0.093879 11702.881224 
...
其中,第一列表示我的x值,范围为
[100-1000]
,步骤为
10
。 第二列以
0.01
的步骤显示我的y值,范围约为
[0-3]

我正在尝试将第三列绘制为二维彩色绘图。

但出于某种原因,我得到了这些人工制品。我试着上下调整网格大小。这是我的密码:

### interpolate data with highlighted datapoints
reset session

#set terminal postscript eps enhanced color font 'Helvetica,10'

# ---------------------------------------------------------------------------------------
#set output './production/SpeedKraft.eps'

set title "" 

set xrange [100:1000]
set yrange [0.01:2.5]

set xlabel "" 
set ylabel "" rotate by 90

# ---------------------------------------------------------------------------------------


set palette grey
set grid
set size square
set view map
set pm3d at b
# set pm3d interpolate 2,2
set dgrid3d 1000,1000 qnorm 2
set table $DataInterpolated
    splot "SpeedNeu.dat" u 1:2:3 
unset table
unset dgrid3d

set format y "%.1f"
set format x "%.0f"



splot $DataInterpolated u 1:2:3 w pm3d palette notitle, \
    #  "Speed.dat" u 1:2:3 w p pt 1 lw 2 lc rgb "black" notitle

### end of code


如果有人能在这件事上帮助我,我非常高兴

问候
Finn

使用dgrid3d创建插值3D曲面似乎更可能通过过度拟合来掩盖数据结构,而不是启发。你试过更简单的方法吗

plot "SpeedNeu.dat" using 1:2:3 with image
甚至

plot "SpeedNeu.dat" using 1:2:3 with points pt 5 lc palette
编辑以显示缺失点的处理和点之间的间距

set pointsize 7.2   # exact size found by experimentation
                    # I left a tiny gap so you can see it, 7.3 would remove it
set size square
set colorbar user origin 0.9,0.2 size 0.05,0.6
unset border; unset tics; unset key
plot "fake.data" using 1:2:3 with points pt 5 lc palette

这一个将绘制点,这些点之间将是空白。还有其他解决方案吗?你是说这些点是正确的,但太小了吗?使用“pointsize”增加大小。如果你的意思是,许多点都是由色标一端的极值着色的,那很可能是插值的问题。好的,谢谢!这不是最漂亮的解决办法,尽管这是个解决办法!我目前正在再次运行计算,以获得在x和y方向上具有相等空间的数据,因此插值应该可以工作!谢谢你的帮助!