MATLAB:导出为矢量图形后可见的补丁边缘

Fli*_*kus 7 matlab vector-graphics matlab-hg2

Matlab中的补丁从单个三角形粘合在一起.它们的边缘通常是不可见的,但是当我以矢量图形格式导出图形时,可以清楚地看到它们(不是显示整个图像,只是放大部分)

各个三角形的边缘

生成此MWE的代码是:

xx = [0:1:100, 100:-1:0];
yy = [zeros(1,101), ones(1,101)];
p1 = patch(xx,yy,'b'); 
print('testPatch','-dpdf','-painters')
Run Code Online (Sandbox Code Playgroud)

替代功能fill表现相同.有没有办法避免这个错误,或者在这种情况下我是否必须使用位图?

编辑:一个解决方法是孵化该区域而不是填充它.这显然并非总是可行,但在我的情况下,它工作得很好,我可以坚持使用矢量图形.相关的FEX提交是http://www.mathworks.com/matlabcentral/fileexchange/30733-hatchfill

Tri*_*een 0

plot2svg允许创建带有完整补丁的矢量图形文件 (SVG)。我也会继续关注export_fig 的更新,看来 Yair Altman 正在解决这个问题。我不会屏住呼吸等待 Mathworks 的解决方案。