将大型 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
我希望这可以帮助其他遇到类似问题的人!
我正在尝试将 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
我希望这可以帮助其他遇到类似问题的人!