【问题标题】:matlab export plot to vector formatmatlab 将绘图导出为矢量格式
【发布时间】:2016-12-20 23:45:39
【问题描述】:

以前我一直以光栅格式(JPG、PNG)导出 Matlab 图形

有没有办法以矢量格式 (SVG) 从 Matlab 导出绘图。我需要它来将绘图插入到 LaTeX 文档中。

到目前为止,我发现的唯一东西是来自 mathworks 的插件和来自 stackexchange 的答案,但这看起来太复杂了

【问题讨论】:

  • 必须是svg吗?如果要导出以便在 Illustrator 等程序中编辑图形,我发现导出为 .eps 效果很好。
  • @SalvadorDali 来自 MATLAB 文件交换的 SVG tool 有什么问题?它看起来很简单。只需将所有相关的 m 文件保存在您的目录中并开始使用 plot2svg...
  • 还有 matlab2tikzmatlabfrag 导出到 eps 并带有用于导入 LaTeX 的注释。
  • matlab2tikz 看起来很不错

标签: matlab latex vector-graphics


【解决方案1】:

还有 matlab2tikzmatlabfrag 导出到 eps 并带有用于导入 LaTeX 的注释。

Here 是我使用 matlabfrag 的一个例子。

我还与 Mathworks 工程师讨论过这个问题,他同意这种事情没有一个很好的工具,因为每个人都想用它做不同的事情(我已经提到了两种不同的 LaTeX 方法)。所以 imo 最好的办法是使用不同的工具,看看哪个最适合你。

大多数时候,我不得不对坐标轴、标签的字体大小等进行大量修改,才能得到我想要的结果(顺便说一句,调整图例是最大的地狱)。

【讨论】:

    【解决方案2】:

    我通常在 Latex 文档中使用这两个 Matlab 绘图。我通常使用的是.eps格式,是Matlab可以很好导出的矢量格式。您应该在 Matlab 中编辑大部分内容,并在图中使用代码或手册。然后只需转到文件 - > 导出设置并单击“扩展轴以填充图形”,配置您想要的任何内容并导出为 .eps,然后您可以将图像导入任何基于矢量的软件、Inkscape 或 Adob​​e Illustrator 以根据需要进行最终调整.只需将 eps 撞到乳胶中,它就完美了。 pdflatex 通常会将 EPS 转换为 PDF,因此如果您想节省时间,可以先从 Inkscape 或 Illustrator 将其转换为 PDF。

    【讨论】:

      【解决方案3】:

      对于我的出版物,我将绘图保存为 EPS(矢量化),然后在 Inkscape 中进行最后的润色。然后通过 Inkscape,您可以将其导出为 SVG 之类的东西。 Inkscape 有很多工具可以方便地清理绘图(例如简化路径和着色)。

      这就是我制作以下T-s diagram的方法:

      【讨论】:

      • 不客气。它不是自动的,但它确实保持矢量化,同时允许您最终确定图像。
      【解决方案4】:

      .eps 文件很容易导出并与 LaTeX 一起使用。我在每个项目中使用一个函数来格式化和保存绘图到 LaTeX 项目。它很容易工作。以下行中的“eps”可以更改为任何 Matlab 图像类型。

      类似:

      figures = sort(findobj('MenuBar','figure'));
      for ii = 1:length(figures)
          saveas(gcf,['Figures/',num2str(ii)],'eps')
      end
      

      【讨论】:

        【解决方案5】:

        我目前使用 FEX 包plot2svg 来完成您提到的任务。

        它非常易于使用:将包含脚本的文件夹添加到您的 matlab 路径后,您就可以这样做了

          plot2svg('myplot.svg',gcf);
        

        将您当前的图形保存在 svg 中。 (当然你可以把gcf (= GetCurrentFigure) 换成另一个句柄来保存其他打开的图。)

        确实,这是我发现的唯一一种导出 PDE 工具箱生成的向量图的方法。

        【讨论】:

          【解决方案6】:

          我以 .eps 格式导出了一个 matlab 图形,然后使用 GIMP 将其转换为 .png。事实证明,这种方式获得的 .png 文件比直接从 MATLAB 图形文件通过 export 或 saveas 选项获得的 .png 文件质量要高得多。请注意,我在 GIMP 中打开 .eps 文件时使用了更高的分辨率。我还在 matlab 导出设置中选择了“缩放字体:自动”。我使用 pdf-latex

          【讨论】:

            【解决方案7】:

            自 2014a 以来,Matlab 矢量图形在根级别被破坏。
            所以不要费心从 .png 格式切换。

            在 matlab 问答部分进一步参考我的忧郁问题: https://se.mathworks.com/matlabcentral/answers/290313-why-is-vector-graphics-chopped-into-pieces

            【讨论】:

              猜你喜欢
              • 2022-08-19
              • 2016-05-07
              • 1970-01-01
              • 2011-09-23
              • 1970-01-01
              • 2023-03-03
              • 2017-04-18
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多