关于如何创建1 x 2 HTML表的任何想法,其中单元格{0}是matplotlib图,单元格{1}是Python 3.X的文本描述?
import matplotlib.pyplot as plt
from io import BytesIO
%matplotlib inline
def add_split_screen(fig, text, iwidth=None):
figdata = BytesIO()
fig.savefig(figdata, format='png')
figdata.seek(0)
figdata
figdata.close()
iwidth = ' width={0} '.format(iwidth) if iwidth is not None else ''
datatable = '<table><tr><td>{0}</td><td>{1}</td></tr></table>'.format(figdata, text)
display(HTML(datatable))
设置测试用例:
fig, ax = plt.subplots(1,1, figsize=(6,4))
ax.plot([1,2,3])
text = '<h4>Special Chart:</h4><BR>Description of chart will go here.'
然后在Jupyter笔记本中运行该函数:
add_split_screen(fig, text, iwidth='500px')
我的输出如下:
但是,我有兴趣实际看到情节内联Jupyter笔记本 .
1 回答
您似乎已经阅读了document并使用
BytesIO
在正确的轨道上 . 还有两个步骤:为您的情节使用适当的标签
使用Base64对
figdata
进行编码 . 然后将它们解码为str
以下是从您的代码中修改的完整且可验证的(在Jupyter笔记本中)示例: