【问题标题】:.png file not saving correctly matplotlib.png 文件未正确保存 matplotlib
【发布时间】:2014-12-08 12:16:53
【问题描述】:

在以 300 作为 dpi 的 png 格式保存多个网格图形时,我失去了质量

但是,将图形保存为 pdf 时不会发生此错误。

这是保存生成的图像的一小部分代码:

fig.savefig(filepath, format = 'pdf'
             ,bbox_inches='tight',dpi=300)

fig.savefig(filepath, format = 'png'
             ,bbox_inches='tight',dpi=300)

有没有一种方法可以在无需使用 pdf 的情况下获得上述图像的良好分辨率 png?

【问题讨论】:

    标签: python pdf matplotlib png


    【解决方案1】:

    .pdf 图像是矢量图形,因此保留了所有信息。换句话说,在创建 pdf 时设置 dpi=300 不会做任何事情(除非您已将特定对象设置为使用 rasterized = True 进行光栅化)。

    .png 图像是光栅图形(例如check this out)。因此,您必须调整 dpi 以获得所需文件大小与质量的平衡。换句话说,图像正在正确保存,只是质量低于“完美”pdf。

    图像输出格式的选择取决于您将如何使用它。如果您有想要完美缩放(缩放)的简单绘图,矢量图形(.pdf.svg)非常棒。但是,如果您要绘制许多点(>10,000 左右),这可能会导致文件非常大。在这种情况下,最好栅格化图形,因为一个人无论如何都看不到那么多数据点。

    “您应该使用哪种光栅格式?” .png.jpg 是最常见的。前者对于具有相同颜色的大块的图像具有更好的压缩效果,而后者对于高像素可变性(例如照片)具有更好的压缩效果。 Check this out for more info.

    请注意,虽然.png 被认为是“无损”的,但它只是在保留光栅化信息的意义上说。保存/转换为光栅化格式时信息仍然丢失。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-29
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      相关资源
      最近更新 更多