Gnuplot展开绘图以填充区域

Gnuplot展开绘图以填充区域,gnuplot,Gnuplot,我正在为我的模拟制作一个视频,其中每一帧都是模拟的图片和图形。我用gnuplot绘制图形,首先运行模拟来确定要使用的x和y范围,然后将范围硬编码到绘图脚本中。它可以正常工作,但绘图不会占用整个曲面,有大量的空白,绘图面积仅为总面积的1/4左右。是否有方法使绘图扩展到更靠近边界的边缘,或控制绘图放置的方法 脚本: set term postscript eps color enhanced "Helvetica" 36 set output 'image.eps' set size ratio 0

我正在为我的模拟制作一个视频,其中每一帧都是模拟的图片和图形。我用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'
这就是结果:

我建议使用接受
裁剪
标志的终端
e、 g.
png
gif
jpeg
,但也有
epscaro

在打印大小的计算中涉及到以下几点:

  • 不同的终端具有不同的默认画布大小。如果默认设置不符合您的需要,请更改大小
    set terminal。。。尺寸…

  • 画布有一个固定的纵横比(由终端大小设置给定),您可以使用
    set size ratio…
    施加一个附加约束,该约束仅影响打印,而不影响画布大小。因此,如果需要此大小比率,则必须使绘图画布适应它

  • 第三个参数是边距。由于gnuplot不确切知道终端将如何呈现标签,因此边距不能精确。您可以使用
    set bmargin…
    (用于底部页边距)手动设置页边距,并等效地设置其他页边距


  • 我在png终端上遇到了其他问题。由于某种原因,根据我使用的终端,绘图的大小会有很大的不同。请参阅编辑。是的,不同的驱动程序产生不同的输出,部分原因是gnuplot是一个协作项目,依赖于不总是使用相同结构的第三方库。此外,在
    png
    中是光栅图像格式,而
    eps
    是矢量图形:非常不同的方法。尽管如此,情况还是越来越好。在png中,您可能使用了太大的字体或太小的png图像。键入
    help png
    以获取所有选项我还建议发出命令
    set ytics nomirror
    以避免在y2轴上出现虚假tics由于默认png大小为640x480,我通常使用
    set term png增强透明裁剪大小1200900