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

使用gnuplot绘制带有颜色和x标记的点,plot,gnuplot,Plot,Gnuplot,我已经试了几个小时了,但我什么也没得到。 我想做的是: 我有一个模拟的解决方案,其中包含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

我已经试了几个小时了,但我什么也没得到。 我想做的是:

我有一个模拟的解决方案,其中包含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


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

我的gnuplot输入如下:

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


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   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


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

有几个问题我无法解决:

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

    您好, Finn对于您的问题:

  • 在plot命令之前使用
    unset键
    ,或在plot命令中使用
    splot…notitle
  • “不工作”是什么意思?请解释一下
  • 我想这类似于此处()。您必须关闭高亮显示点的插值。我不确定这是否可以在plot命令内完成,因此您必须通过
    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
    
    ###使用高亮显示的数据点插入数据
    重置会话
    
    $Data这正是我要找的!非常感谢。关于第2部分,我以为它会在50x50网格之间插入,但我可以把这个网格变大,这会有类似的效果