代码之家  ›  专栏  ›  技术社区  ›  HarriS

将Jupyter记事本中的绘图输出导出为HTML时保存

  •  0
  • HarriS  · 技术社区  · 6 年前

    我希望当笔记本保存为HTML时,能够看到我的绘图图。

    可重复示例:

    import plotly.graph_objects as go
    animals=['giraffes', 'orangutans', 'monkeys']
    
    fig = go.Figure([go.Bar(x=animals, y=[20, 14, 23])])
    fig.show()
    

    我知道有两种方法可以做到这一点:

    1. 静态图像
    2. 嵌入交互式HTML代码

    方法1:静态

    from IPython.display import Image
    import plotly.io as pio
    img_bytes = pio.to_image(fig, format='png')
    Image(img_bytes)
    

    带有以下内容的标记单元格: 保存后,将文件写入png并通过在线运行 base64 converter

    <img src="data:image/png;base64,CODE_FOLLOWS_HERE" />
    

    方法2:互动

    fig.write_html("myfile.html")
    

    这将创建一个单独的带有绘图的html文件。也许有办法直接写在笔记本上吗?

    有没有一种方法,当整个笔记本保存为html时,图形会显示为交互式绘图?

    我无法使以下任何内容工作。它们显示在azure上的笔记本中,但一旦保存为html,它们就不会出现。

    0 回复  |  直到 6 年前
        1
  •  0
  •   HarriS    6 年前

    手动将输出保存为screenshot.png,然后使用以下命令上传

    from IPython.display import Image
    Image(filename="screenshot.png")
    

    当笔记本另存为HTML时,会显示这种方式。然而,这只是一个静态的解决方案。