如何在GnuPlot中使绘图变大

如何在GnuPlot中使绘图变大,gnuplot,Gnuplot,我正在使用以下配置文件生成映射的3D绘图(XRANGE和YRANGE稍后设置) 生成的图像如下所示 注意:我已转换为jpg,因此质量较低,并且在图像周围放置了边框 大量的空间被浪费在上面和下面。在我将图像嵌入LaTex文档之前,这不是问题,此时它看起来是这样的(同样,pdf文档转换为jpg图像) 右边的图像也是用GnuPlot创建的,但它稍大一些(通过查看我在上面两幅图像周围绘制的边框可以明显看出)。这是因为GnuPlot使用顶部和底部空白填充3D绘图。如何在不手动编辑所有50多个绘图的情况

我正在使用以下配置文件生成映射的3D绘图(
XRANGE
YRANGE
稍后设置)

生成的图像如下所示

注意:我已转换为
jpg
,因此质量较低,并且在图像周围放置了边框

大量的空间被浪费在上面和下面。在我将图像嵌入LaTex文档之前,这不是问题,此时它看起来是这样的(同样,
pdf
文档转换为
jpg
图像)


右边的图像也是用GnuPlot创建的,但它稍大一些(通过查看我在上面两幅图像周围绘制的边框可以明显看出)。这是因为GnuPlot使用顶部和底部空白填充3D绘图。如何在不手动编辑所有50多个绘图的情况下删除此项?

有两种解决方案,一种是不可靠的,另一种是黑客攻击

  • 使用GnuPlot,可以使用指定距适当边距的距离。例如,设置
    lmargin 0
    bmargin 0
    基本上会将轴推离页面。可以为
    tmargin
    rmargin
    指定类似的值来拉伸图形。虽然这适用于2D图形,但不适用于3D图形(我怀疑这与我将图形设置为正方形的事实有关)

  • 当图形设置为正方形大小时,Gnuplot。通过查找类似so
    %%BoundingBox:50 50 50 410 302
    的行并将
    410
    更改为较小的行,可以直接操纵eps文件来更改此设置。或者,这就是我所做的,您可以运行
    eps2eps in.eps out.eps
    ,它将为您裁剪它。只需确保
    in.eps
    out.eps
    不是同一个文件,否则它将无法工作


  • 之后我还裁剪了边界框,因为我讨厌在gnuplot中使用边距。我意识到,不知何故,eps2eps确实调整了边界框,但它也将文本(标签等)转换为像素图形

    我通常使用“epstool”,在交叉bb时将文本保存为文本,我使用的命令是:

    epstool--copy--bbox in.eps out.eps

    使用
    设置视图中的
    参数,这将在不更改文本大小或标题位置的情况下放大绘图

    在您的情况下,由于您使用的是
    map
    视图,因此需要:

    set view 180,0,1.5
    

    其中,
    180,0
    相当于
    map
    视图,
    1.5
    是比例因子。

    Gnuplot有一些最糟糕的文档。可悲的是,几乎没有其他选择。虽然
    eps2eps
    去掉了边距,但它并没有解决根本的问题:出于某种原因,gnuplot绘制的三维图形略小于二维图形。即使在LaTex中将字体拉伸到相同大小时,也必须处理LaTex子图形不能隔开的事实,因此现在有两个图形混在一起了。@puk Well,欢迎对文档提出改进建议。这很好地取代了原来的做法。我将eps转换为pdf,然后使用
    pdfcrop
    命令,但这更好。注意:即将推出的5.0版本具有
    比例
    ,因此您可以使用
    设置pm3d地图;将视图比例设置为1.2
    set view 180,0,1.5