【发布时间】:2020-04-03 16:34:05
【问题描述】:
我希望能够获取对象的正常输出并将其插入到自定义 HTML 组件中。具体来说,我希望允许将多个图表放入手风琴 UI 元素,或者在单击按钮时显示隐藏的数据框。有没有办法获取通常输出的 HTML,将其包装在我自己的 HTML 组件中,然后输出?
我试过了:
import IPython.display as dp
dp.display(dp.HTML('<div id="mycontainer">')) # Just a simple div,
# but ideally would be e.g. bootstrap component
dp.display(my_obj) # my_obj here could be a (potentially styled) dataframe
# or a plot from matplotlib/altair/etc.
dp.display(dp.HTML('</div>'))
但是,未关闭的 <div> 会自动关闭,因此 my_obj 不会插入其中。有些对象有_repr_html_(),但并非所有对象都有(尤其是图表)。尽管如此,Jupyter 显然有一些方法可以从任意对象中提取 HTML。
似乎从尝试阅读 nbconvert 用于将对象更改为 HTML 的源代码,但我不确定 A)我理解正确还是 B)如何从任意对象获取 HTML那不在笔记本节点对象中(或者我自己如何构造这样的对象)。
【问题讨论】:
标签: jupyter-notebook jupyter nbconvert