【问题标题】:How to improve the magnification of picture (*.png) when exported in gnuplot?在gnuplot中导出时如何提高图片(*.png)的放大率?
【发布时间】:2014-05-26 08:31:39
【问题描述】:

我想提高在 gnuplot 中导出图像 (*.png) 时的放大率。我曾尝试增加这些图像的像素,但是当它们放大太多倍时,质量太差了。所以你能帮我处理这个案子吗?

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

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

【问题讨论】:

    标签: gnuplot


    【解决方案1】:

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

    【讨论】:

    • 感谢您的评论,米格尔。
    • “解决这个问题的唯一方法”应该是“解决这个问题的一种方法”,因为 gnuplot 支持导出其他格式的矢量图形,而不仅仅是 eps。
    【解决方案2】:

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

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

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

    另外需要说明的是,如果你的函数特别嘈杂,你可能需要增加采样点的数量,考虑命令set samples 1000

    【讨论】:

      【解决方案3】:

      除了其他答案,这里还有另外两个选项:

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

      【讨论】:

      • eps 和 pdf 终端提供了使用 LaTeX 排版整个文本的巨大优势。
      猜你喜欢
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多