如何在Google Colabs笔记本中使用HoloViews显示?

6
我无法在任何Google Colabs笔记本中显示任何HoloViews图形。
例如,即使是HoloViews介绍中的简单Bokeh示例。
points = hv.Points(np.random.randn(500,2))
points.hist(num_bins=51, dimension=['x','y'])

在 Google Colabs 笔记本中,代码无法显示任何内容,也没有报错,而在本地 Jupyter 笔记本中,相同的代码(以及来自 HoloViews 的所有示例代码)可以正常工作。

如果我将 Colabs 笔记本下载到本地并打开它,我会看到以下输出:

找不到任何(安全的)渲染器进行输出。它具有以下 MIME 类型:application/javascript、application/vnd.bokehjs_load.v0+json

如何让 Bokeh HoloViews 在 Google Colabs 笔记本中显示?

1个回答

11

请参考https://github.com/pyviz/holoviews/issues/3551。Colaboratory在处理笔记本时有严重的限制,暂时您需要执行以下步骤:

import os, holoviews as hv
os.environ['HV_DOC_HTML'] = 'true'

然后对于每个包含绘图的单元格,您必须重新加载JS:

hv.extension('bokeh')

hv.Curve([1, 2, 3])

如果Google能解决这个问题的话,那将是非常好的,因为在我看来现在的情况是无法实现的。


设置环境的速记方式是%env魔法。%env HV_DOC_HTML = true - korakot
在 Kaggle 笔记本上,Holoviews 运行良好感觉有些奇怪。 - qAp
2
Kaggle笔记本基本上只是普通的Jupyter,而Jupyter已经得到了很好的支持,而Colab是一个高度定制的Jupyter分支,它与主分支分歧已经相当长时间了,并且(主要是出于安全原因)已经禁用了大部分JS/Python通信机制。现在,Colab正在添加新的API以允许包支持它,所以我希望这方面会有进展。 - James A. Bednar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接