我正在使用代码绘制2D分布z(x,y)的3D图
----- (variables and functions definition) -------
set ticslevel 0
set pm3d
set zrange[cbmin:cbmax]
set xrange[0:261]
set yrange[0:261]
set xtics 50
set ytics 50
set ztics 2
splot fnc_snap_name(idx, PSNAP, fname_snap) using 1:2:($4>0?f($4):cbmin) \
with pm3d notitle, fnc_snap_name(idx, PSNAP_INT, fname_snap_int) using \
1:0:($3>0?f($3):cbmin) with line ls 1 lw 3 notitle
pause -1
此外,在相同的代码上,并使用splot
命令的第二个参数,我试图在平面 y = 0 上绘制一维分布。结果如下
如您所见,曲线在对角线上出现,而我当时想写1:0:X
会将y坐标固定为零,将列数据1
固定为x坐标, X
将是z坐标。
正确的进行方式是什么?
答案 0 :(得分:2)
非常接近。您不需要using 1:0:(x)
splot ... using 1: (0.0) : ($3>0?f($3):cbmin)
也就是说,您希望常量(0.0)而不是数据列0的值,数据列0是表示数据文件的行号或数据结构的顺序索引的“伪列”。