【发布时间】:2015-02-04 16:03:37
【问题描述】:
我正在尝试将 Matlab 中的填充等高线图导出为矢量图形以包含在 Latex 文件中。我目前的方法是:
contourf(x,y,v_mag,20), axis([0,width,0,height]),daspect('manual') ;
grid off
colormap jet
h = colorbar;
caxis([0 v_lid])
h.Label.String = 'Velocity Magnitude (m/s)';
set(gcf,'renderer','painters')
export_fig('-painters', '-transparent', 'pdf', 'filename.pdf');
这种方法的问题在于它会产生如下所示的伪像(白线):
我知道这些白线是定义阴影区域的多边形,这些区域具有不可见的边缘,并且不会完全重叠(according to here)。该问题是由 pdf 查看器本身引起的,它试图平滑屏幕上显示的线条(according to here)。我的问题是大多数查看文档的人不知道这一点,也不知道如何阻止查看者这样做。所以我的问题是:
是否可以在没有这些人工制品的情况下从 Matlab 创建填充轮廓图的矢量图形?
Eps 会产生同样的问题。我曾尝试使用SVG function,但没有任何运气。由于放大导致像素化,我试图避免使用光栅图形。任何建议将不胜感激。
编辑 - 附加信息 - 使用 Matlab v.2014b 和 Ghostscript v.9.15
【问题讨论】:
-
当您在 PDF 查看器中放大和缩小时,这些线条是否会发生变化?
-
是的,它们确实发生了变化。缩放时它们会消失。缩放后它们会发生变化。
-
在这种情况下,文件正确无误,但这是使用中的 PDF 查看器的问题。该效果主要是由渲染器中的舍入差异引起的。这可能很烦人,需要一些说明才能忽略这些行。
-
感谢您的回复。我很感激这是pdf查看器的错。我什至知道要防止 pdf 查看器这样做。问题是其他人不会。我的问题是是否可以在 Matlab 中创建矢量图形,这样 pdf 查看器就不会首先显示这些伪影。
-
好的,我的专长是 PDF,所以,对于 Matlab 问题,我相信其他人可以提供帮助。
标签: matlab pdf vector-graphics