使用 gnuplot 绘制带有颜色和 x 标记的点

Using gnuplot to plot points with color and x-marks

我已经试了几个小时了,但毫无进展。 我想做的是:

我有一个模拟的解决方案,其中包含 x 和 y 值以及每个点的值。

我正在尝试使用 gnuplot 绘制数据。我希望我的数据点之间的值使用颜色进行插值,并且这些点本身应该用点、"x" 或某物标记。就像这样(除了圆形边框和里面的那些标签):

我一直在努力让一个非常基本的例子运行起来。我的数据文件如下所示:

1   1   0.1
1   2   0.3
1   3   0.6
2   1   0.5
2   2   0.7
2   3   0.9
3   1   0.2
3   2   0.8
3   3   0.7

我的 gnuplot 输入是这样的:



set terminal postscript eps enhanced color font 'Helvetica,10'
set output './production/image1.eps'

set palette gray

set title "Titel" 

#set xrange [1:4]
#set yrange [0:10]

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

set xlabel "x-Achse [Einheit]" 
set ylabel "y-Achse [Einheit]" rotate by 90


set view map
set pm3d at b map
set pm3d interpolate 2,2
set dgrid3d 50,50,2
splot "inputDatei.dat" u 1:2:3 linecolor palette

结果如下所示:

有几个问题我无法解决:

  1. rip 右边有一个标签 "inputDatai.dat" u 1:2:3”。我试过 splot ... label "" 但这并没有解决问题
  2. 插值似乎不起作用。这在较小的网格中可见
  3. 数据点未突出显示。我尝试使用 splot ... with points 但这只会在每个网格角显示点,这显然太多了。此外,输入数据可能不是 "regular",但点可以在任何地方。

如果有人能帮助我,我会很高兴。

您好, 芬恩

你的问题:

  1. 在 plot 命令之前使用 unset key 或在 plot 命令中使用 splot ... notitle
  2. "does not work" 是什么意思?请解释。
  3. 我想这与此处类似 ()。您必须关闭突出显示点的插值。我不确定这是否可以在绘图命令中完成,因此您必须通过 set table 将插值数据绘制到单独的数据块中,然后关闭插值。

代码:

### interpolate data with highlighted datapoints
reset session

$Data <<EOD
1   1   0.1
1   2   0.3
1   3   0.6
2   1   0.5
2   2   0.7
2   3   0.9
2.5 2.5 0.1
3   1   0.2
3   2   0.8
3   3   0.7
EOD

set size square
set view map
set pm3d at b
set pm3d interpolate 2,2
set dgrid3d 50,50,2

set table $DataInterpolated
    splot $Data u 1:2:3 
unset table
unset dgrid3d

set palette grey
set xrange [0.9:3.1]
set yrange [0.9:3.1]

splot $DataInterpolated u 1:2:3 w pm3d palette notitle, \
      $Data u 1:2:3 w p pt 1 lw 2 lc rgb "red" notitle
### end of code

结果: