以前我一直以光栅格式(JPG,PNG)导出 Matlab 图形
有没有办法以矢量格式(SVG)从 Matlab 导出绘图。我需要它将绘图插入到 LaTeX 文档中。
到目前为止,我发现的唯一一件事是mathworks的插件和stackexchange的答案,但这看起来太复杂了
以前我一直以光栅格式(JPG,PNG)导出 Matlab 图形
有没有办法以矢量格式(SVG)从 Matlab 导出绘图。我需要它将绘图插入到 LaTeX 文档中。
到目前为止,我发现的唯一一件事是mathworks的插件和stackexchange的答案,但这看起来太复杂了
还有matlab2tikz和matlabfrag导出到带有注释的 eps 以导入到 LaTeX。
这是我使用 matlabfrag 的示例。
我还与一位 Mathworks 工程师讨论过这个问题,他同意这种事情没有一个很好的工具,因为每个人都想用它做不同的事情(我已经提到了两种不同的 LaTeX 方法)。所以 imo 最好的办法是使用不同的工具,看看哪个最适合你。
大多数时候,我不得不对坐标轴、标签的字体大小等进行大量修改,才能得到我想要的(顺便说一句,调整图例是最大的地狱)。
我通常在 Latex 文档中使用这两个 Matlab 图。我通常使用的是.eps格式,是Matlab可以很好导出的矢量格式。您应该在 Matlab 中尽可能多地编辑它,并在图中使用代码或手册。然后只需转到文件 -> 导出设置并单击“扩展轴以填充图形”,配置您想要的任何内容并导出为 .eps,然后您可以将图像导入任何基于矢量的软件、Inkscape 或 Adobe Illustrator 以根据需要进行最终调整. 只需将 eps 撞到乳胶中,它就完美了。此外,pdflatex 通常会将 EPS 转换为 PDF,因此如果您想节省时间,可以先从 Inkscape 或 Illustrator 将其转换为 PDF。
对于我的出版物,我将绘图保存为 EPS(矢量化),然后在 Inkscape 中进行最后的润色。然后通过 Inkscape,您可以将其导出为 SVG 之类的东西。Inkscape 有很多工具可以方便地清理绘图(例如简化路径和着色)。
这就是我制作以下Ts图的方式:
.eps 文件很容易导出并与 LaTeX 一起使用。我在每个项目中使用一个函数来格式化和保存绘图到 LaTeX 项目。它很容易工作。以下行中的“eps”可以更改为任何 Matlab 图像类型。
就像是:
figures = sort(findobj('MenuBar','figure'));
for ii = 1:length(figures)
saveas(gcf,['Figures/',num2str(ii)],'eps')
end
我已经在 .eps 中导出了一个 matlab 图形,然后使用 GIMP 将其转换为 .png。事实证明,这种方式获得的 .png 文件比直接从 MATLAB 图形文件通过 export 或 saveas 选项获得的 .png 文件质量要高得多。请注意,我在 GIMP 中打开 .eps 文件时使用了更高的分辨率。我还在 matlab 导出设置中选择了“缩放字体:自动”。我使用 pdf-latex
自 2014a 以来,Matlab 矢量图形在根级别被破坏。
所以不要费心从 .png 格式切换。
在 matlab 问答部分进一步参考我的忧郁问题: https ://se.mathworks.com/matlabcentral/answers/290313-why-is-vector-graphics-chopped-into-pieces