Python .png文件未正确保存matplotlib

Python .png文件未正确保存matplotlib,python,pdf,matplotlib,png,Python,Pdf,Matplotlib,Png,当以300作为dpi保存png中的多重网格图形时,我失去了质量 但是,将图形保存为pdf时不会发生此错误 下面是保存生成的图像的代码的一小部分: fig.savefig(filepath, format = 'pdf' ,bbox_inches='tight',dpi=300) fig.savefig(filepath, format = 'png' ,bbox_inches='tight',dpi=300) 有没有一种方法可以在不使用pd

当以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?

。pdf
图像是矢量图形,因此可以保留所有信息。换句话说,在pdf创建中设置
dpi=300
没有任何作用(除非您使用
rasterized=True
设置了要光栅化的特定对象)

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

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

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

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