我在Matlab中创建了一个使用离散颜色条和自定义颜色图的图形。理想情况下,我想将此保存为后记图形(.eps),以便我可以在Inkscape中进行一些编辑。但是,当我以.eps格式保存时,在Inkscape(以及其他程序)中查看时,颜色条似乎是连续的。我需要做些什么来阻止这种情况?
我还尝试将图形保存为PDF似乎有效(在我用来查看/编辑它的任何程序中,colorbar都是离散的),但在Inkscape中进行一些编辑并重新保存为PDF(或其他格式之类的) .eps和.png),色条再次切换回连续状态。
以下是我的colorbar的代码以及我用来保存它的代码:
cmap=[118 18 19;
118 18 19;
184 18 21;
230 38 44;
255 127 0;
255 191 0;
247 217 9;
255 248 140;
182 237 240;
145 205 237;
107 174 232;
61 144 227;
32 114 214;
0 66 135;
0 31 103;
0 31 103;
0 31 103;
0 31 103;
0 31 103;
0 31 103];
cmap=cmap/255;
colormap(cmap)
caxis([-20 30]
cb=colorbar('XTick',[-15 -12.5 -10 -7.5 -5 -2.5 0 2.5 5 7.5 10 12.5 15],'Xlim', [-17.5 17.5]);
export_fig fig1 -pdf -eps -r600 -painters
这是colorbar的PDF版本(希望如此)。我无法弄清楚如何发布EPS版本。
如何阻止彩条连续移动?我真的需要进行一些编辑,因为我无法让Matlab在我的颜色条的末尾做箭头,我可能也需要使用文本。
答案 0 :(得分:1)
这与Inkscape导出位图的问题有关,讨论here。解决方案是在文本编辑器中打开违规的pdf文件(由Inkscape输出一个),找到行
/Interpolate true
并用
替换它们/Interpolate false
答案 1 :(得分:1)
我设法找到阻止它的唯一方法是使用该部分中的离散颜色为Inkscape中颜色条的每个部分重新着色。实际上,我认为这只是在该框中插入了另一种颜色的矩形,但它工作正常。如果我的标记没有完全分离颜色栏的每个部分,那么这将不起作用。
不是一个漂亮的解决方案,但它对我有用!
答案 2 :(得分:0)
您可以使用
以矢量格式打印print(gcf, '-dpdf', 'fig.pdf');
您还可以将图形的renderer
属性设置为zbuffer
以获得栅格图。
set(gcf,'Renderer','zbuffer');
显示和打印离散的颜色条。