脱机时无法正确显示打印的jupyter笔记本导出到html [英] Exporting Jupyter notebook with plotly to html not displaying correctly when offline

查看:22
本文介绍了脱机时无法正确显示打印的jupyter笔记本导出到html的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Jupyter实验室,即使在离线的情况下,Jupyter实验室内的一切工作都很正常。但是,每当我尝试将报告导出为HTML时。打印的地块不会渲染。如果我打开互联网连接,绘图就会呈现,一切正常。

以下是示例代码:

import pandas as pd
import numpy as np
import plotly.express as px

df = pd.DataFrame(np.random.randn(100,4), columns='A B C D'.split())

px.scatter(df, x='A',y='B')

我已尝试按照图示here的故障排除指南进行操作。此外,我尝试在全新环境中安装。

如果我使用以下内容:

import plotly.io as pio
pio.renderers.default = "jupyterlab"

脱机Html包含静电绘图,但是我非常希望启用交互性。 我注意到文件大小不同,静电页面只有700KB左右,而当我尝试将它们保存为交互式时,它们大约是4MB。

这在木星实验室是不可能的吗?还是我错过了什么

推荐答案

如果您想要在脱机状态下具有交互性,则需要将plotly.js添加到输出HTML中。 您可以这样实现:

import plotly.io as pio
pio.renderers.default='notebook'
实际上,这应该在JupyterLab上默认完成(您可以看出文件大小增加了。与您的情况一样,它将是>;4MB)。因此,如果这不起作用,我怀疑是错误。我想我也经历过类似的事情。在使用您的示例并将其导出为html时,以下是我的浏览器控制台输出:

由于某种原因,包含的plotly.js似乎依赖于由于某种原因未包含在html导出中的require.js。相反,您的页面将尝试从脱机时失败的CDN加载它(如屏幕截图所示)。

现在,您可以做的是手动包含require.js的本地版本。获取副本here。然后,在您的笔记本顶部添加以下内容:

%%HTML
<script src="require.js"></script>
然后,将您的笔记本导出为html。请确保它与您之前下载的require.js文件位于同一文件夹中,然后在浏览器中将其打开。
控制台中应该不会再有错误消息,您的图表应该会显示并以交互方式工作:

/e:如果要共享笔记本,这可能不是最佳选择,因为它要求您还分发require.js脚本。您也可以在笔记本中直接包含整个脚本。只需将%%js单元格魔术放在代码单元格的顶部,并将您下载的require.js文件的内容粘贴在其下方。

这篇关于脱机时无法正确显示打印的jupyter笔记本导出到html的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆