使用自动ytics放置时限制ytics的数量

时间:2013-03-27 19:53:38

标签: gnuplot

我编写了一个bash脚本,生成文件然后使用以下模板自动绘制(最小工作示例):

 set terminal epslatex color size 3,1.2
 set output "fig.tex"

 set ylabel '$\lambda_i$' offset +1.5,0
 set xlabel '$i$' offset 0,+0.5
 set logscale x
 set mxtics 5
 set mytics 5
 plot "file.dat"  w p pt 7 ps 0.7 lc rgb "#033775"

一切正常,但当输入的数据跨越可观的价值范围时,往往会有太多的ytics。

[代表不够,所以这里有一个例子:http://i.stack.imgur.com/zd7XK.png]

我怀疑epslatex终端引起了问题(即gnuplot不知道真正的字体高度并且在可用空间中擦除太多抽搐)。我的解决方法是限制抽搐的数量,同时允许自动ytics放置,但我找不到关于这个主题的任何内容。

1 个答案:

答案 0 :(得分:2)

通常,您可以使用

降低y轴上的抽搐频率
set ytics VALUE

一个例子是:

plot sin(x)

生成自动抽动(修复:图像链接已删除) 和

set ytics 0.5
plot sin(x)

生成this

如果您不知道要为VALUE添加哪个值,则可以使用STATS_min_x和STATS_max_x(对于早期版本)使用gnuplot4.6和GPVAL_DATA_X_MIN进行计算。对于那些看到the answer from andyras

的用法

或者(具有相似的用法)在这种情况下使用GPVAL_Y_MIN和GPVAL_Y_MAX可能更有用,因为它们已被舍入。

然后你可以使用例如:

set terminal unknown
plot(x)
ntics = 4.
dy = floor((GPVAL_Y_MAX-GPVAL_Y_MIN+0.5)/ntics*10.)/10.
set ytics dy
set terminal ...
replot

为上面的例子生成指定的4个抽搐(修复:链接到图像已删除)。