在gnuplot中导出时如何提高图片放大率(* .png)?

时间:2014-05-26 08:31:40

标签: gnuplot

我希望在gnuplot中导出图像时放大图像(* .png)。我试图增加这些图像的像素,但是当它们被缩放太多次时,质量非常糟糕。那么请你帮我解决这个案子。

以下是我在gnuplot中导出图像* .png的命令:

set term pngcairo transparent enhanced lw 2.2 \
    font "Century,20" fontscale 1.2 size 1642,1140"

3 个答案:

答案 0 :(得分:2)

您遇到的问题与gnuplot无关,而与png图像的位图性质无关。由于这些图像不是矢量图,因此当您“放大”时,只需增加位尺寸,而不是增加分辨率。解决此问题的唯一方法是导出到eps而不是png。 gnuplot中有一些您可能感兴趣的终端。在我看来,最强大的是epslatex终端:查看help epslatex的文档。

答案 1 :(得分:1)

正如Miguel所提到的,问题的根源可能是通过导出PNG,您正在导出像素数组。放大时,您将开始看到图像的各个像素。

解决问题的最佳方法可能是导出某种形式的矢量图形。看一下EPS(附注:如果您提交矢量图形而不是PNG,大多数期刊会更喜欢。)

如果您确定要使用PNG,则应该查看https://stackoverflow.com/a/9118990/2372604,其中提到将您的终端更改为pngcairo以生成更顺畅的结果。

要做的另一个注意事项,如果你的功能特别嘈杂,你可能需要增加采样点的数量,考虑命令set samples 1000

答案 2 :(得分:0)

除了其他答案,还有以下两个选项:

  • 增加终端尺寸(比如4000x3000),直到你看到一些看起来不错的东西。 PNG格式是压缩的,因此如果大部分图是白色的,那么它就不会增加太多字节。
  • 如前所述,使用矢量图形格式作为终端。其他人建议EPS,但今天不如svg。 SVG终端生成.svg文件,可以使用Inkscape等工具轻松进行后期处理。