我想在底部绘制3D表面图和相同函数的热图图(来自file数据)(如Gnuplot Cookbook中的“将图像与图像组合”一章) 。
使用script绘制轮廓图。
是否可以通过Gnuplot在一个图中的极坐标中绘制两个图形(轮廓和三维)?
输出无效,因此代码中存在错误:
reset
set terminal pngcairo size 800,800 enhanced font 'Verdana,20'
set output '3d-polar_AbsPsiSquared.png'
set lmargin at screen 0.05
set rmargin at screen 0.85
set bmargin at screen 0.1
set tmargin at screen 0.9
set pm3d
unset key
set multiplot
stats '_FullWV.dat' using ($3*$3+$4*$4)
max(a,b) = (a>b) ? a : b
round2(x) = x - floor(x) < 0.5 ? floor(x) : ceil(x)
round(x, n) = round2(x*10**n)*10.0**(-n)
Z_MAX = max(-STATS_min, STATS_max)
Z_MAX = round(Z_MAX,1)
set parametric
set grid xtics ytics
set angles degree
#set zrange[-1,1]
#set cbrange [-1:1]
set autoscale fix
#set autoscale xfix
#set autoscale yfix
set autoscale zfix
#set autoscale
set cbrange [-Z_MAX : Z_MAX]
set palette model RGB defined ( 0"#6495ED", 1"blue", 2"#00008B",3"white",\
4"green",5"yellow",6"red")
#splot '_FullWV.dat' u ($2*cos($1)):($2*sin($1)):($3*$3+$4*$4)
set size ratio -1
set hidden front
set xyplane at -1
splot '_FullWV.dat' u (abs(($3*$3+$4*$4))<1e-3 ? NaN : $2*cos($1)):($2*sin($1)):($3*$3+$4*$4) with pm3d at b, '_FullWV.dat' u (abs(($3*$3+$4*$4))<1e-3 ? NaN : $2*cos($1)):($2*sin($1)):($3*$3+$4*$4) with pm3d
unset multiplot
答案 0 :(得分:0)
似乎,解决方案是pm3d的depthorder选项,所以正确的脚本是:
reset
set terminal postscript eps size 5,6 enhanced color font 'Helvetica,20' linewidth 2
set output "3d.eps"
set tics scale 1.25
set xlabel '{/Helvetica-Oblique x, a.u.}'
set ylabel '{/Helvetica-Oblique y, a.u.}'
set zlabel '{/Helvetica-Oblique E, a.u.}'
set pm3d depthorder
unset key
set multiplot
unset colorbox
stats '_FullWV.dat' using ($3*$3+$4*$4)
max(a,b) = (a>b) ? a : b
round2(x) = x - floor(x) < 0.5 ? floor(x) : ceil(x)
round(x, n) = round2(x*10**n)*10.0**(-n)
Z_MAX = max(-STATS_min, STATS_max)
Z_MAX = round(Z_MAX,1)
set parametric
set grid xtics ytics ztics
set mxtics 2
set mytics 2
set tics out
set decimalsign ","
set format x "%.1f"
set format y "%.1f"
set format z "%.0f"
set angles degree
set view 61,33
set ztics floor(Z_MAX/3)
set autoscale fix
set autoscale zfix
set cbrange [0 : Z_MAX]
set palette model RGB defined ( 0"#168de2", 1"#0201db", 2"#00008B", 3"#00dcf5",\
4"#09df67",5"yellow",6"red")
set size ratio 1
set hidden3d front
set xyplane at -10
splot '_FullWV.dat' u (abs(($3*$3+$4*$4))<1e-3 ? NaN : $2*cos($1)):($2*sin($1)):($3*$3+$4*$4) with pm3d at b, '_FullWV.dat' u (abs(($3*$3+$4*$4))<1e-3 ? NaN : $2*cos($1)):($2*sin($1)):($3*$3+$4*$4) with pm3d
unset multiplot