我编写了一个 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"
一切工作正常,但当输入的数据跨越相当大的值范围时,往往会出现太多歌词。
[没有足够的代表,所以这里是一个例子:https://i.stack.imgur.com/zd7XK.png]
我怀疑 epslatex 终端导致了问题(即 gnuplot 不知道真实的字体高度并在可用空间中占用了太多的抽动)。我的解决方法是限制抽动的数量,同时允许自动抽动放置,但我找不到有关该主题的任何内容。
一般来说,您可以使用以下命令降低 y 轴上抽动的频率:
set ytics VALUE
一个例子是:
plot sin(x)
产生自动抽动(修复:图像链接已删除)
和
set ytics 0.5
plot sin(x)
产生this https://i.stack.imgur.com/5ch3L.jpg.
如果您不知道为 VALUE 设置哪个值,可以通过使用 gnuplot4.6 的 STATS_min_x 和 STATS_max_x 以及早期版本的 GPVAL_DATA_X_MIN 来计算。有关这些的用法,请参阅即安迪拉斯的回答 https://stackoverflow.com/a/14129716/1834164
或者(使用类似的用法)在这种情况下使用 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 个抽动(修复:已删除图像链接)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)