导出为PDF后的图中的白线

时间:2018-06-12 11:43:38

标签: matlab pdf export matlab-figure vector-graphics

使用contour(下图中的第一个图)在MATLAB 2016a中绘制了2D数据矩阵,然后我以*.emf格式保存为图形。接下来,我将图形(emf)插入到MS Word文档中。最后,word文档被转换为pdf文件。

我发现图中有许多白线(处于pdf格式时),如下图所示。我的问题是如何删除这些白线?

Figure 1 Figure 2

代码附在此处:

path = 'C:\Users\Administrator\Desktop\';
data = importdata([path, 'lsa2.txt'], ' ', 6);
cdata = data.data;
n = 25;
contourf(cdata,n, 'LineStyle', 'none');
colormap(jet);
axis equal;

可以在此处访问数据:https://www.dropbox.com/s/hzf75qiju6zsy9i/lsa2.txt?dl=0

1 个答案:

答案 0 :(得分:4)

正如我在评论中提到的,这是MATLAB导出图形的方式的错误,正如Yair AltmanDene Farrell所解释的那样:

  

我发现当使用painters渲染器时会发生这些白线伪影... [这是]矢量化的默认渲染[格式引擎](EPS / PDF)格式。   

  

Matlab导出有两个独立的问题:

     

1。每个人都注意到的主要事情是补丁被分解为三角形,如果在插图画家中进行检查,每个三角形都是一个单独的路径对象。

     

2。 Matlab有时候会增加无关的裁剪路径'即使没有断裂路径问题,也会产生明显的白线。

ambramson提出的一个解决方法如下:

  

1。将该图保存为.eps文件(使用print命令)。
   2。使用文本编辑器,从以下位置更改eps标题中的行:

/f/fill ld
     

/f{GS 1 LW S GR fill}bd
     

并将该行向下移动几行,位于/LW/setlinewidth ld行的正下方。
  从这里开始,您的eps文件应该在所有pdf查看器上正常显示。