gpt4 book ai didi

python - 与 JupyterHub 中的 Bokeh 服务器交互

转载 作者:行者123 更新时间:2023-12-02 09:50:39 25 4
gpt4 key购买 nike

我有一个 simple bokeh interaction notebook 可以捕获用户绘制的坐标,它在 Jupyter 中工作得很好:

2018-07-03_6-52-18

import numpy as np

N = 500
x = np.linspace(0, 3, N)
y = np.linspace(0, 3, N)

xx, yy = np.meshgrid(x, y)
z = np.sin(xx) * np.cos(yy)

from bokeh import events
from bokeh.io import show, output_notebook
from bokeh.plotting import figure

output_notebook()

geom = {}
global geom

def print_event(attributes=[]):
def python_callback(event):
geom.update(event.__dict__['geometry'])
return python_callback

def modify_doc(doc):
p = figure(x_range=(0, 3), y_range=(0, 3),
tools='reset,box_select,lasso_select,poly_select', plot_height=300)
p.image(image=[z], x=0, y=0, dw=3, dh=3, palette='Spectral11')
p.on_event(events.SelectionGeometry, print_event(attributes=['geometry']))
doc.add_root(p)

show(modify_doc)

print(geom)

但在 JupyterHub 中,show(modify_doc) 不会生成绘图,并且开发人员控制台显示 JS 无法从此请求加载响应数据:

http://localhost:43474/autoload.js?bokeh-autoload-element=111c97fa-dbc8-437c-9770-471dc23fb13f&bokeh-absolute-url=http://localhost:43474&resources=none

自从我访问我的 jupyterhub 上的 Dask 仪表板以来,

http://pangeo.esipfed.org/user/rsignell-usgs/proxy/8787

我想也许这样的东西可以工作:

show(modify_doc, notebook_url='pangeo.esipfed.org/user/rsignell-usgs/proxy')

但是生成了这个 URL:

http://pangeo.esipfed.org/user/rsignell-usgs/proxy:34560/autoload.js?bokeh-autoload-element=870004ec-7366-4b38-b20f-2119e2b52327&bokeh-app-path=/user/rsignell-usgs/proxy:34560&bokeh-absolute-url=http://pangeo.esipfed.org/user/rsignell-usgs/proxy:34560&resources=none

出现404错误。

我看到几个月前有一个 Bokeh enhancement 应该允许这种交互工作,我认为我应该能够指定 notebook_url 作为一个函数来完成这项工作,但是我想不通。

我做错了什么很清楚吗?或者有人有一个例子来说明这是如何工作的吗?

最佳答案

Bokeh 的文档提到了通过 jupyterhub 进行代理时需要进行的一些设置,以便与 Bokeh 服务器进行交互:

https://docs.bokeh.org/en/latest/docs/user_guide/notebook.html#jupyterhub

希望有帮助。

关于python - 与 JupyterHub 中的 Bokeh 服务器交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51161586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com