gnuplot 自动选取相当好的 x/y 范围和 x/y-tics 数量(如图所示大约 5)很有帮助。
但是,我有时想增加/减少抽动的次数。
当然,改变抽动次数很容易。我想做的事情是,利用这个 gnuplot“自动抽动选择”的优势,但调整抽动的大约数量。有什么办法可以解决这个问题吗?
谢谢!
好的,现在我明白你的意思了。特别是在多重图中或当图形相对于抽动标签的大小变得较小时,抽动太多。
在下面找到似乎适用于演示案例的解决方法。如果它一直工作良好,您需要进行测试。缺点是您必须首先绘制到虚拟表,以获得 gnuplot 放入
GPVAL_...
变量中的范围,然后再次重新绘制。
在下图中,第一行是 gnuplot auto-tic,第二行是半自动近似 tic 的尝试。也许这是进一步调整的起点。
脚本:
### set approximate number of tics with "nice" intervals
reset session
round(n) = gprintf("%.0e",n)
# alternatively with less approximate tics:
# round(n) = gprintf("%.0e",n) + sgn(n)*10**gprintf("%T",n)
approxTicsX(n) = round((GPVAL_X_MAX - GPVAL_X_MIN)/n)
approxTicsY(n) = round((GPVAL_Y_MAX - GPVAL_Y_MIN)/n)
set multiplot layout 2,3 rowsfirst
### with gnuplot auto-tics
set xrange [-10:10]
plot x
set xrange [-100:100]
plot x**2
set xrange [-90:90]
plot x
### now with semi-auto tics
set style line 1 lc rgb "red"
set xrange [-10:10]
set table $Dummy
plot x ls 1
unset table
set xtics approxTicsX(5)
set ytics approxTicsY(5)
replot
set xrange [-100:100]
set table $Dummy
plot x**2 ls 1
unset table
set xtics approxTicsX(5)
set ytics approxTicsY(5)
replot
set xrange [-90:90]
set table $Dummy
plot x ls 1
unset table
set xtics approxTicsX(5)
set ytics approxTicsY(5)
replot
unset multiplot
### end of script
结果: