MATLAB 的新图形引擎 HG2 无法使用 Painters 渲染器正确打印补丁:
hist(randn(1,1000));
colorbar('Location','SouthOutside');
print('test.pdf','-dpdf');
生成的补丁,无论是由hist
或生成的colorbar
,都有三角形分割:
该问题已在此处和此处的 MATLAB Central 上进行了讨论,其中建议禁用 pdf-viewer 中的“平滑线条艺术”选项应该可以解决该问题。这在某些阅读器中隐藏了问题(例如,在 Adobe Reader 中,但在 Apple Preview 中没有),但要求协作者和读者使用具有非默认设置的特定 pdf 查看器以正确显示图形,这几乎不是解决方案。在 Inkscape 中查看生成的文件,很明显分割存在于输出矢量图形中。在这里,我移动了一半的颜色条,证明它实际上被分成两半,而不仅仅是被 pdf-viewer 误解:
使用 OpenGL 渲染器(print('test.pdf','-opengl')
,但输出未矢量化)不存在问题。该问题在 MATLAB 2015a 中仍然存在。
有没有办法在 MATLAB 2014b 或更高版本中导出无伪影矢量图形?