我使用Holoviews (Bokeh)交互式绘图制作了一份演示文稿。在notebook中,使用rise插件可以正常显示,但是当我将其转换为reveal.js (v3.6.0)幻灯片时,输出结果无法显示。即使通过CDN进行发布也无法解决问题。有人遇到过这种情况吗?
我使用Holoviews (Bokeh)交互式绘图制作了一份演示文稿。在notebook中,使用rise插件可以正常显示,但是当我将其转换为reveal.js (v3.6.0)幻灯片时,输出结果无法显示。即使通过CDN进行发布也无法解决问题。有人遇到过这种情况吗?
我在能够重现此问题后,在RISE网站上提出了一个问题,RISE的作者指向了Bokeh网站上的这个问题,让我在我的情况下使其正常工作。解决方案很简单,就是不要告诉RISE跳过包含hv.extension("bokeh")
的单元格。该单元格加载BokehJS,任何基于Bokeh的图都需要它才能显示,对于实时演示跳过它很好用,但显然对于任何导出版本都不适用。告诉RISE不要跳过该单元格后,我的示例笔记本现在可以使用jupyter nbconvert --to slides Bednar_INDEX_2018.ipynb
转换为.html并正常工作,并且可以按照RISE文档中的说明将其转换为PDF。 PDF输出的格式并不完美,但所有图都至少显示出来了。
from holoviews.plotting.bokeh import ElementPlot
; ElementPlot.toolbar=None
。 - James A. Bednar
hv.extension()
中使用matplotlib而不是bokeh,则“jupyter nbconvert --to slides Bednar_INDEX_2018.ipynb”可以正常工作,因此看起来这是bokeh+reveal.js的问题,但仅在笔记本上下文之外导出时存在问题。此外,导出的HTML文件仍然不像单独的幻灯片,除非您执行“jupyter nbconvert --to slides Bednar_INDEX_2018.ipynb --post serve”,这可能并不理想,因为它仍然需要一个正在运行的进程。 - James A. Bednar