我有一个数据文件_FullWV.dat,如果在想要的区域z<之外,我希望Gnuplot自动缩放xyrange。 10 ^( - 8),有什么办法可以吗?
图表为here。
使用过的script如下:
reset
set terminal pngcairo size 800,800
set output '3d-polar.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 map
unset key
set multiplot
stats '_FullWV.dat' using 3
max(a,b) = (a>b) ? a : b
Z_MAX = max(-STATS_min, STATS_max)
set parametric
set grid xtics ytics
set angles degree
set autoscale xfix
set autoscale yfix
#set zrange [-Z_MAX : Z_MAX]
set cbrange [-Z_MAX : Z_MAX]
set palette model RGB defined ( 0"black", 1"white", 2"grey")
splot '_FullWV.dat' u ($2*cos($1)):($2*sin($1)):3
unset multiplot
答案 0 :(得分:2)
set size ratio -1
splot '_FullWV.dat' u (abs($3)<1e-5 ? NaN : $2*cos($1)):($2*sin($1)):3
1e-8太小了,它几乎没有从原来的范围内切割。
abs($3)<1e-5 ? NaN : $2*cos($1)
如果z(第3列)介于-1e-5和1e-5之间,请保留x undefined(非数字)。如果未定义x,则即使定义了y和z,也不会显示任何点。
如果z超出此范围,请将x定义为$2*cos($1)
。
请注意,对于pm3d,要显示的点至少需要2个连续值。这意味着自动缩放将考虑1个单独的值,但不会显示。
set size ratio -1
表示x刻度上的一个单位将与y刻度上的一个单位一样大:否则圆圈可能会显示为椭圆。