2016-08-23 1 views
1

Ich habe den folgenden Code in einem Jupyter Notebook:Warum zeigt BokehJS nicht in einem gerenderten Jupyter/IPython-Notizbuch auf GitHub?

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) 

Es ist jedoch keine Handlung oder Grafiken nicht zeigen; es hängt einfach auf "Loading BokehJS".

Prinzipiell sollte das mit nbviewer funktionieren, da gerenderte Notebooks von allem Javascript auf GitHub beraubt sind (glaube ich?). Nach meiner Erfahrung jedoch nicht.

Antwort

2

GitHub scrub alle JavaScript-Dateien aus allen Jupyter-Notebooks, bevor sie gerendert werden (vermutlich aus Sicherheitsgründen). Bokeh benötigt JavaScript-Code aus der Client-Bibliothek BokehJS, um alles rendern oder tun zu können. Angesichts dessen würde ich Bokeh-Plots in Jupyter-Heften zu niemals GitHub-Arbeiten leider nicht erwarten.

Ich würde sehr gerne dafür arbeiten, aber es ist völlig außerhalb unserer Kontrolle. Ich habe mich an GitHub gewandt und um eine Option gebeten, das Rendering für Notebooks in einem Repo vollständig zu deaktivieren, mit der Begründung, dass "überhaupt nicht rendern" dem "Rendering, aber kaputt" vorzuziehen ist, aber noch nichts von ihnen gehört hat.

Beachten Sie, dass nbviewer tut nicht Streifen JavaScript, weshalb alle Notebooks im ganz gut zeigen.

+0

> "Beachten Sie, dass nbviewer JavaScript nicht entfernt, weshalb alle Notizbücher in der Galerie Bokeh nbviewer.org gut angezeigt werden." Ich habe das bemerkt. Wenn ich meine Notizbücher auf github in nbviewer stelle, erscheinen sie immer noch nicht. Wie benutzt man nbviewer, damit das Notebook angezeigt wird? – ShanZhengYang

+0

Es kann ein Problem mit '0.12.1' und statisch gerenderten Notebooks geben. Dies wird gerade untersucht und wird in '0.12.2' gelöst. Es gibt und Problem und WIP PR auf GitHub, wenn Sie folgen möchten. Fürs Erste würde ich vorschlagen, '0.12' zu verwenden. – bigreddot

+0

Link zum Problem? Danke – ShanZhengYang

Verwandte Themen