【发布时间】:2015-04-27 18:40:07
【问题描述】:
我在 Matlab 中面临类似于this 问题的低质量图形输出问题,但那里给出的解决方案对我不起作用。使用 Matlab 2014b 或 2015a 都会导致同样的问题。
使用以下命令创建示例图形:
a = rand(200, 1)
b = .1 * rand(200, 1) + .4
plot([a b])
patch([1 100 100 1], [0 0 1 1], [-.1, -1., -.1, -.1], .1*ones(4, 1))
export_fig('test4.pdf')
生成的图像有锯齿状的线连接和以不一致的方式重叠的线 - 有时蓝线在前面,有时橙色线在前面。
请注意,仅当补丁命令中包含 Z 数据时才会出现问题。
我尝试以上述问题中建议的相同方式解决此问题,但提供的过程不起作用(它没有对 .eps 文件进行任何更改)。我通过更改行手动编辑了 .eps 文件以具有圆角线连接
/J { setlinecap } def
到
/J { 1 setlinecap } def
但是,前景中的哪一行的不一致仍然存在。
使用 Matlab 的本机输出会导致与使用 export_fig 相同的问题。可以通过编辑 .eps 文件类似地修复行连接,这次将 2 setlinecap 的任何行替换为 1 setlinecap,但行顺序问题仍然存在。
然后我正在寻找以下两个问题之一的答案:
- 有没有办法从 Matlab 中输出矢量图形图像来避免这两个问题?
- 有没有办法通过对 Matlab 输出的文件进行后处理来解决行顺序问题,类似于如何解决行连接问题?
【问题讨论】:
-
您有什么特别的理由需要使用
export_fig吗? Matlab 的内置输出函数会导致同样的问题吗? -
两种方法都会导致相同的问题。两种方法生成的 .eps 文件完全不同,但链接问题的解决方案对它们都不起作用,并且在手动编辑时,它们都以前景优先的问题告终。
-
-
好的,只是想确认一下,不过我帮不了你,抱歉。
标签: matlab eps matlab-hg2