【问题标题】:Using gnuplot to plot points with color and x-marks使用 gnuplot 绘制带有颜色和 x 标记的点
【发布时间】:2020-06-19 18:36:30
【问题描述】:

我已经尝试了几个小时,但我没有得到任何结果。 我想要做的是:

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

如果有人可以帮助我,我很高兴。

您好, 芬兰人

【问题讨论】:

    标签: plot gnuplot


    【解决方案1】:

    对于您的问题:

    1. 在绘图命令前使用unset key 或在绘图命令内使用splot ... notitle
    2. “不起作用”是什么意思?请解释一下。
    3. 我想这和这里 (Superimposing vectors, dgrid3d and pm3d in gnuplot for 3D plot) 类似。您必须关闭对突出显示点的插值。我不确定这是否可以在 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
    

    结果:

    【讨论】:

    • 这正是我想要的!非常感谢你。关于第 2 部分,我认为它会在 50x50 网格之间进行插值,但我可以让这个网格更大,这将产生类似的效果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多