我在Jupyter笔记本中有以下代码:
import numpy as np
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
N = 4000
x = np.random.random(size=N) * 100
x = np.random.random(size=N) * 100
radii = np.random.random(size=N) * 1.5
colors = ["#%02x%02x%02x" % (r, g, 150) for r, g in zip(np.floor(50+2*x), np.floor(30+2*y))]
output_notebook()
# Loading BokehJS ...
p = figure()
p.circle(x, y, radius=radii, fill_color=colors, fill_alpha=0.6, line_color=None)
show(p)
然而,它没有显示任何情节或图形;它只是停留在"加载BokehJS"。
原则上,这应该适用于nbviewer,因为渲染的笔记本在GitHub上被剥夺了所有Javascript(我想?)。然而,根据我的经验,它并没有。
答案 0 :(得分:2)
GitHub在渲染之前擦除所有Jupyter笔记本中的所有JavaScript(可能出于安全原因)。 Bokeh需要来自客户端库BokehJS的JavaScript代码才能呈现或执行任何操作。鉴于此,遗憾的是,我不希望Jupyter笔记本中的Bokeh绘图永远在GitHub上工作。
我非常希望它可行,但它完全不受我们的控制。我已经联系了GitHub,要求选择在回购中完全禁用笔记本的渲染,理由是“完全不渲染”比“渲染但看起来破碎”更好,但没有从它们那里听到回复。
请注意,nbviewer 不剥离JavaScript,这就是为什么Bokeh nbviewer.org gallery上的所有笔记本都显示正常的原因。