将大型 Matlab 图形保存为 SVG 时如何防止 base64 编码的 PNG?

How to prevent base64 encoded PNG when saving large Matlab figure to SVG?

我正在尝试将 matlab 中的图形保存为 .svg。生成的 plotted_img.svg 包含 .svg 的预期 XML 结构,并且在某一点包含带有图像的 <image xlink:href="data:image/png;base64,[...]" /> 标签。

(对不起,我不能在这里粘贴必要的代码部分,因为它们目前是同事研究的一部分。但是,为了重现,必须用 [=14 将很多东西绘制到一个图中=] 和具有多个条目的 legend。)

刚找到解决方案...在输入此问题时。所以,我想我应该分享我的发现,因为我无法在 StackOverfow 上找到解决方案。

为了让 matlab 以矢量化形式保存大图形,必须手动设置 'Renderer''RendererMode' 选项,即

set(gcf,'Renderer','painters')
set(gcf,'RendererMode','manual')

让它发挥作用。请参阅此处的 Matlab 文档:https://de.mathworks.com/help/matlab/ref/figure-properties.html#property_Renderer

我希望这可以帮助其他遇到类似问题的人!