背景
- 我正在处理3GB数据的数据挑战
- 我在jupyter笔记本中使用ploy express绘制了大约10个地块
- 我没有使用
fig.show('notebook')
,因为它不起作用 - 我用了
py.init_notebook_mode()
,所有的情节都完美地显示在笔记本上 - 它们是简单的图,每个图都有一年的数据,比如
fig = px.line(df, x, y, ...)
和fig.show()
笔记本上的一切都很好。
问题
但在我尝试将笔记本转换为HTML文件之前,只显示了最近的6个绘图。
前4个情节有标题、图例、轴、背景画布,当我悬停在它们上面时,数字会弹出,但情节没有显示出来,每个情节都有一个不愉快的方形脸,上面写着"x〃-眼神。
我试过了:
!jupyter nbconvert notebook.ipynb --to html --template classic
- 或使用
--execute
- 或不带
--template
- 我在更改
NotebookApp.max_buffer_size
时增加了笔记本的大小,但这不起作用
我怀疑这是nbconvert
或HTML相关的内存限制问题,因为:
- 当我把它减少到6个图时,所有的图都会显示出来
- 当我添加更多的情节时,第一个开始遇到这个问题,好像有内存限制一样
- 我认为这些是nbconvert文档,但在编写HTML时,我没有看到任何"限制"或"最大值"?
- (https://nbconvert.readthedocs.io/_/downloads/en/5.4/pdf/)
- (https://nbconvert.readthedocs.io/en/latest/config_options.html)
有人解决了同样的问题吗?有人能帮忙吗?
非完美解决方案
- 我必须点击图例,然后它就会出现
- 但另一张图又消失了
- 可用的总数总是6张图,就像有一个极限一样
无意中,我发现当我使用Firefox时,所有的绘图都会显示出来,所以我意识到这是一个渲染问题。
原来默认值是WegGL
,我通过添加render_mode='svg'
切换到SVG
。
瓦拉,一切都解决了。
只需在Jupyter-lab中打开笔记本即可。从"文件"菜单中选择要导出为HTML的选项。它对我有效。我还没有找到从命令行使用nbconvert的方法。如果您能提供render_mode='svg'的使用方法,那就太好了。在我的方法中,图像减少了,它们的java脚本也丢失了。