如何在 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
我正在绘制多图曲面。 我发现这段代码 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