从matlab曲面图导出svg图像
我需要一些来制作一些出版物质量数据。我首先以.svg格式从matlab导出图形,然后在inkscape中进行一些后处理。我对使用从matlab曲面图导出svg图像,matlab,svg,plot,figure,surface,Matlab,Svg,Plot,Figure,Surface,我需要一些来制作一些出版物质量数据。我首先以.svg格式从matlab导出图形,然后在inkscape中进行一些后处理。我对使用plot或scatter生成的图形没有问题,但是当我导出使用surf生成的图形时(在视图(2)中),我遇到了问题。如果我使用绘图或分散,我可以在inkscape中解组和处理各种部分,如标题、轴、分散点、线等。但是,对于surf,matlab只导出一个图形,将所有不同的部分分组到一个单元中。我无法分离单个零件,当我非常近距离缩放时,我可以看到轴和标题的位图分辨率(如果我使
plot
或scatter
生成的图形没有问题,但是当我导出使用surf
生成的图形时(在视图(2)
中),我遇到了问题。如果我使用绘图
或分散
,我可以在inkscape中解组和处理各种部分,如标题、轴、分散点、线等。但是,对于surf
,matlab只导出一个图形,将所有不同的部分分组到一个单元中。我无法分离单个零件,当我非常近距离缩放时,我可以看到轴和标题的位图分辨率(如果我使用绘图
,当我非常近距离缩放时,标题和轴具有“无限”分辨率)。我可以使用有限分辨率的曲面图,但我需要至少能够处理轴和标题(我目前无法做到)。我应该怎么做才能将标题和轴从主情节中“分离”,就像从情节和分散生成的图形一样?我过去也在我的科学出版物中使用Inkscape,但我发现很多时候使用乳胶中的pgfplots可以获得更好的结果,与matlab2tikz matlabscript一起使用。网上有很多关于这方面的资源,但下面是我的工作流程如何适应你的冲浪情况。我已经安装了带有latex、matlab和matlab2tikz的macOSX。将在linux上工作,几乎没有修改
在Matlab中:
surf(peaks(25))
matlab2tikz('plot.tikz’)
然后我有下面的bash脚本(只是与图像位于同一文件夹中的脚本,只需双击即可执行)。(需要将其chmod作为可执行文件)
#/bin/bash
cd~/桌面
rm*.eps
cat>plot.tex我偶然发现了这个问题,因为我遇到了同样的问题
正如@vindarmagnus所提到的,使用tikz并获得相当好的结果是可能的。然而,根据我目前的经验,tikz在使用surf等时遇到了大数据集问题
解决方案,对我有效:
将渲染器更改为画师,导出的.svg文件在打开时将保留其矢量图形属性,例如在inkscape中:
figure('Renderer','Painters');
figure('Renderer','Painters');