我在Matlab 2014b中使用image
函数生成了一个数字。图形窗口中的图像看起来很完美,但是当我将其保存为PDF或EPS文件时,它会生成未在图形窗口中显示的颜色块。使用export_fig
时,这种情况会同时发生在PDF和EPS文件格式中,使用print
时,它只会显示在EPS文件中,而不会显示在PDF中。但是,使用print
函数会发生其他一些奇怪的事情,所以我不想使用它。
该图是一组3 x 4的地图,可以在下面的快照中看到额外的颜色块(在每个地图的底部和MJJ地图的右侧)。我一直在Illustrator中手动删除它们,但是我有大量的这些数字所以我需要在Matlab结束时停止它。
有谁知道这是怎么回事以及如何修复它?
仅供参考,这是我用来制作数字的代码(除了其他行以使它看起来完全像这样):
h=image(lon_data,lat_data,plot_data);
这是出口数据:
export_fig(filename,'-painters','-eps','-pdf','-r600')
编辑添加:这是它应该看起来的样子 - 地图底部或侧面没有额外的位。有时候,右边的位也会进一步下降。
答案 0 :(得分:1)
进行了一些研究后,这似乎是由painters
渲染器引起的。使用opengl
渲染器时,问题就会消失,但这确实会产生其他影响(我无法使用此渲染器在其他位置编辑图像)。
据报道export_fig
开发人员在此处发现了一个错误:https://github.com/altmany/export_fig/issues/61