Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从matlab曲面图导出svg图像_Matlab_Svg_Plot_Figure_Surface - Fatal编程技术网

从matlab曲面图导出svg图像

从matlab曲面图导出svg图像,matlab,svg,plot,figure,surface,Matlab,Svg,Plot,Figure,Surface,我需要一些来制作一些出版物质量数据。我首先以.svg格式从matlab导出图形,然后在inkscape中进行一些后处理。我对使用plot或scatter生成的图形没有问题,但是当我导出使用surf生成的图形时(在视图(2)中),我遇到了问题。如果我使用绘图或分散,我可以在inkscape中解组和处理各种部分,如标题、轴、分散点、线等。但是,对于surf,matlab只导出一个图形,将所有不同的部分分组到一个单元中。我无法分离单个零件,当我非常近距离缩放时,我可以看到轴和标题的位图分辨率(如果我使

我需要一些来制作一些出版物质量数据。我首先以.svg格式从matlab导出图形,然后在inkscape中进行一些后处理。我对使用
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');