我编写了一个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放置,但我找不到关于这个主题的任何内容。
答案 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个抽搐(修复:链接到图像已删除)。