首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IPython.display: SVG无法渲染svg_filter_line生成的svg图像(官方示例)

IPython.display: SVG无法渲染svg_filter_line生成的svg图像(官方示例)
EN

Stack Overflow用户
提问于 2019-06-09 20:12:48
回答 1查看 2.9K关注 0票数 5

我在MacOS上用Python3在Jupyter中运行svg_filter_line (官方示例)。

SVG可以很好地处理大量svg图像(例如,来自wiki的Worldmap图像)

svg_filter_line的原始编码也工作得很好。

运行svg_filter_line会生成一个名为' svg _filter_line.svg‘的svg图像。

SVG无法呈现此svg图像'svg_filter_line.svg',没有错误,没有警告。

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 00:31:26

要做到这一点有点困难。以下是解决方案:在处理文件时:我发现display()display_svg()函数显示的文件类型略有不同(区别主要在于名称空间)。作为一种解决方法,必须使用svgutils重新保存SVG文件,然后读取并显示,如下所示:

代码语言:javascript
复制
import svgutils.transform as sg
from IPython.display import SVG,display

#create new SVG figure
fig = sg.SVGFigure("16cm", "10cm")

# load matpotlib-generated figures
fig1 = sg.fromfile('svg_filter_line.svg')
plot1 = fig1.getroot()
fig.append([plot1])
fig.save("svg_filter_line2.svg")
display(SVG(filename='svg_filter_line2.svg'))

svgutils的安装方式如下:

conda install -c conda-forge svgutils

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56514491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档