matplotlib 将色图另存为矢量图形时显示的像素

c9x0cxw0  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(115)

我正在绘制(使用pcolormesh)一些颜色图,以添加到我用乳胶写的报告。我希望将该图保存为pdf,这样我就可以在我的报告中使用矢量图形,Latex很乐意阅读pdf
然而,保存的图显示了分隔像素的白色(我假设这是微小的间隙)。当我将其保存为png时,它看起来很好。我想知道是否有可能使pdf看起来像png


的数据


ef1yzkbh

ef1yzkbh1#

这是导出渐变颜色的厚片或条带的已知问题,因为它们是边界区域。这是MS Edge中的Acrobat插件(无法直观控制)x1c 0d1x
在某些情况下,观看者可以通过混合边缘来补偿矢量显示。这里,通过简单地按下“抗锯齿”的A来实现查看器中的差异,但是取决于查看器,可能存在或可能不存在若干设置。



来自https://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-are-there-unwanted-borders
Acrobat Reader(跨平台)“首选项”中有选项可启用/禁用文本平滑、图像平滑和艺术线条平滑。禁用艺术线条平滑。
预览(macOS)在“首选项”中有一个选项可以启用/禁用文本和线条艺术的抗锯齿功能。禁用此选项。
GSview(跨平台)有文本Alpha和图形Alpha的设置。将图形Alpha从4位更改为1位以禁用图形抗锯齿。
gv(类Unix X)有一个选项来启用/禁用抗锯齿。禁用此选项。
Evince(Linux/GNOME)在此查看器中没有禁用抗锯齿的选项。
Okular(Linux/KDE)GUI中没有启用/禁用抗锯齿的选项。在控制台命令行中,用途:$ kwriteconfig --file okularpartrc --group 'Dlg Performance'
--key GraphicsAntialias Disabled然后重新启动Okular。将最后一个字更改为“已启用”以恢复原始设置。
我可以确认SumatraPDF中没有配置设置,即使基于MuPDF



即使查看器对这些块进行了补偿,它仍然可能在其他边界上存在问题,其中描边是“无”的,请参见此放大部分的右上角。如果一条线出现在PDF中,它应该以给定宽度显示,但你不能说PDF像素是零维的。


解决办法

导入位图(导入到PDF时将从PNG转换)是固定像素尺寸的一种方法。

相关问题