1
  • matplotlib 允许生成 svgz 文件,压缩率大于 90%
  • 使用 gzip -9 对 svg 文件进行外部压缩
  • xml.etree.ElementTree 允许将元数据定义为 svg 数据集,但显然只导出到 svg,而不是 svgz。

python中有没有办法将元数据添加到xml树并以达到的压缩率将其导出到svgz matplotlib.pyplot.savefig(..., format='svgz')

4

1 回答 1

0

也许你想这样做

import io
from matplotlib.figure import Figure
from matplotlib.backends.backend_svg import FigureCanvasSVG

fig = Figure()
# do your fig stuffs

output = io.BytesIO()
FigureCanvasSVG(fig).print_svg(output)

现在,SGV 可以提取如下:

output.getvalue()

如果您正在寻找 SGVZ(gzip 压缩),请尝试:

FigureCanvasSVG(fig).print_svgz(output)
于 2021-03-29T13:22:16.610 回答