Matlab中的补丁从单个三角形粘在一起。它们的边缘通常是不可见的,但是当我在矢量图形格式导出数字它们可以清楚地看出(不是整个图像被示出,只是一个放大部分)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')
复用功能fill
行为相同。有没有办法避免这个bug,或者我必须在这种情况下使用位图吗?
编辑:一种解决方法是孵化区域,而不是填充它。这显然不总是可能的,但在我的情况下,它很好地工作,我可以坚持矢量图形。相关的FEX提交是http://www.mathworks.com/matlabcentral/fileexchange/30733-hatchfill
我不确定是什么导致了这种情况,但是我在用圆形标记导出图时观察到了类似的行为。圆形标记最终看起来像由多个三角形组成的斑状多边形。 –
我认为你描述的问题有一个简单的解决方案:不要使用'o'作为标记类型,而是使用'。'。据我所知,这对我来说是个诀窍。 – FliegenderZirkus
我不会厌倦从Matlab FEX推荐'export_fig'。它出色的工作表现出色,比马耳他本身更好。试试看。 –