我正在为仿真制作视频,其中每一帧都是仿真的图片和图表。我使用gnuplot制作图形,然后首先运行仿真以确定要使用的x和y范围,然后将范围硬编码到绘图脚本中。可以,但是该图不会用完整个表面,有一吨的白色空间,并且该图仅占总面积的1/4。有没有办法使图扩展到更靠近边界的边缘,或者有办法控制图的位置?
脚本:
set term postscript eps color enhanced "Helvetica" 36
set output 'image.eps'
set size ratio 0.8
set logscale x
set xlabel 'Time(Arb. Units)'
set xrange [10:100000]
set yrange [0:1.6]
set y2range [0:0.5]
set ylabel 'Absorption(%)'
set y2label 'Emission'
set format x '%.0e'
set xtics 10, 100, 100000
set key noautotitles
plot 'absorption.dat' axes x1y1 w lines lt 3 lw 5, 'emission.dat' axes x1y2 w lines lt 1 lw 5
我设置了灰色背景,以便您可以看到正在浪费的空间。
编辑:我也尝试了png终端,但这似乎使问题更加严重。情节进一步缩小。我将脚本的前两行替换为:
set term png font Helvetica 36
set output 'image.png'
地块大小的计算涉及几件事:
不同的终端具有不同的默认画布大小。如果默认值不符合您的需求,请更改大小set terminal ... size ...
画布具有固定的宽高比(由端子大小设置决定),并且您施加了一个附加约束,set size ratio...
该约束仅影响绘图而不影响画布大小。因此,如果需要此尺寸比例,则必须使绘图画布适应它。
第三个参数是边距。由于gnuplot并不完全知道终端将如何呈现标签,因此边距不能精确。您可以使用set bmargin ...
(下边距)手动设置边距,其他边距也可以设置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句