在HTML表格中,如何在Jupyter Notebook中使用Python在图表旁边添加文本?

9 浏览
0 Comments

在HTML表格中,如何在Jupyter Notebook中使用Python在图表旁边添加文本?

有关如何在Python 3.X中创建一个1 X 2的HTML表格,其中单元格{0}是一个matplotlib图表,单元格{1}是一个文本描述的任何想法吗?\nimport matplotlib.pyplot as plt\nfrom io import BytesIO\n%matplotlib inline\ndef add_split_screen(fig, text, iwidth=None):\n figdata = BytesIO()\n fig.savefig(figdata, format=\'png\') \n figdata.seek(0)\n figdata\n figdata.close()\n iwidth = \' width={0} \'.format(iwidth) if iwidth is not None else \'\'\n datatable = \'

{0} {1}

\'.format(figdata, text)\n display(HTML(datatable)) \n设置一个测试用例:\nfig, ax = plt.subplots(1,1, figsize=(6,4))\nax.plot([1,2,3])\ntext = \'

特殊图表:


图表描述将在此处。\'\n然后在Jupyter笔记本中运行该函数:\nadd_split_screen(fig, text, iwidth=\'500px\')\n我的输出如下:\n\"enter\n然而,我真正想要的是在Jupyter笔记本中实际看到图表内联显示。

0
0 Comments

在Jupyter Notebook中,如何在HTML表格中添加文本以显示Python绘制的图表?

问题的原因是,用户希望在Jupyter Notebook中显示Python绘制的图表,并在图表旁边添加文本。用户已经阅读了相关文档,并尝试使用`BytesIO`来实现此目标。但是,代码还需要两个步骤来完成:

1. 使用适当的标签来显示绘图。

2. 使用Base64对`figdata`进行编码,然后将其解码为字符串。

以下是一个从用户的代码修改而来的完整且可验证的示例(在Jupyter Notebook中):

from base64 import b64encode
from io import BytesIO
from IPython.display import display, HTML
import matplotlib.pyplot as plt
def add_split_screen(fig, text, iwidth=None):
    figdata = BytesIO()
    fig.savefig(figdata, format='png')
    iwidth = ' width={0} '.format(iwidth) if iwidth is not None else ''
    datatable = '
{1}
'.format(b64encode(figdata.getvalue()).decode(), text) display(HTML(datatable)) fig, ax = plt.subplots(1,1, figsize=(6,4)) ax.plot([1,2,3]) text = '

Special Chart:

Description of chart will go here.' add_split_screen(fig, text, iwidth='500px')

这段代码将绘制一个简单的折线图,并在图表旁边添加了一个标题和描述文本。

通过以上步骤,用户成功地在Jupyter Notebook中将文本添加到了绘图旁边。用户创建了一个名为`add_split_screen`的函数来处理图表和文本的显示。该函数使用`BytesIO`创建一个图像文件,并将其保存为PNG格式。然后,函数将图像文件的Base64编码与文本一起嵌入到HTML表格中,并通过`display`和`HTML`函数在Jupyter Notebook中显示。

最终,用户成功地在Jupyter Notebook中显示了带有文本的绘图。

0