如何在 gnuplot 的多图图中标记 zrange?

How to label zrange in multiplot graph in gnuplot?

我正在绘制多图曲面。 我发现这段代码 1 对绘制图表很有帮助。 但是,我想在一个图中的所有表面上标记 z 轴。 我尝试了这个 set zrange[0.5:b+0.5],但什么也没有出现。然后我尝试了 min_z 和 max_z,仍然没有任何结果。 虽然我通过以下命令计算并检查了范围。

打印min_z,max_z.

任何人都可以告诉我如何根据自己的选择选择 zrange 吗?像 1 ,2 3 4 5.

我将扩展我的评论作为可能的答案。这种绘图风格不需要多图。这是您链接到的人物的近似再现。

如果要自定义沿 z 的轴标签,可以添加一个命令来更改格式,如下所示:set ztic format "%.2f"、and/or 添加其他命令的形式:set ztic add ( pi/2 "z = π/2" )

f(x,y,z) =  besj0(x*x/z + y*y/z) / z

set palette cubehelix

set xyplane 0
set view 64,58
set ztics 0.2
unset key

splot for [i=1:6] z=(1.+i/6.), '++' using 1:2:(z):(f(x,y,z)) with pm3d

答案已扩展以显示来自一系列文件的绘图

从一系列文件中绘图在本质上是相同的。 splot 命令再次插入常量 z 值以创建平面,从第 1 列和第 3 列获取数据坐标 [x,y] 并从第 4 列获取 f(x,y) 值。

这是一个例子:

set palette defined( 0 "dark-red", 1 "yellow" )

set xyplane 0
set view 74, 62, 0.85, 1.8
set border 16      # z axis only
unset xtics; unset ytics
unset key


file(i) = sprintf("map%d.dat",i)
set ztics ("File 1" 1, "File 2" 2, "File 3" 3, "File 4" 4)

splot for [i=1:4] file(i) using 1:2:(i):3 with image