jupyter-notebook - 从 jupyter notebook 获取交互滑块以在 bokeh html 文件中工作
问题描述
你好,这是我的第一个问题(我什么都不是菜鸟),我有点紧张,不让你紧张。
我的总体目标是创建一个 30 分钟的课程(部分),让学生可以看到:
交互式图形和超级fency CODE。
- 被吸引成为软件工程师_innen 或至少开始阅读代码。(我衡量影响)
为此,我认为 Jupyter notebook 是最好的武器。出于可用性原因和不同级别的交互性,我开始考虑创建 html 文件以进行远程访问(我的管理员会在让我在学校环境中安装更多东西之前杀了我)
所以我看到了这个:
from bokeh.plotting import figure
from bokeh.resources import CDN
from bokeh.embed import file_html
plot = figure()
plot.circle([1,2], [3,4])
html = file_html(plot, CDN, "my plot")
从散景图中创建 html。
但是如何为这个独立的 html 文件提供漂亮的交互滑块。
那么如何(即使它没有意义)转换这个例子:
from ipywidgets import interact
import numpy as np
from bokeh.io import push_notebook, show, output_notebook
from bokeh.plotting import figure
output_notebook()
In [ ]:
x = np.linspace(0, 2*np.pi, 2000)
y = np.sin(x)
In [ ]:
p = figure(title="simple line example", plot_height=300, plot_width=600, y_range=(-5,5))
r = p.line(x, y, color="#2222aa", line_width=3)
In [ ]:
def update(f, w=1, A=1, phi=0):
if f == "sin": func = np.sin
elif f == "cos": func = np.cos
elif f == "tan": func = np.tan
r.data_source.data['y'] = A * func(w * x + phi)
push_notebook()
In [ ]:
show(p, notebook_handle=True)
In [ ]:
interact(update, f=["sin", "cos", "tan"], w=(0,100), A=(1,5), phi=(0, 20, 0.1))
进入某事。像这样:https ://demo.bokeh.org/sliders
感谢您的每一条评论。对不起,我的英语不像看起来那么好,但我不像我看起来那么聪明
解决方案
据我所知,没有任何直接的方法可以使用Jupyter 交互器在独立的 HTML 中进行这项工作。但是,您可以使用 Bokeh 自己的小部件进行独立输出:
https://docs.bokeh.org/en/latest/docs/gallery/slider.html
Bokeh 2.0 应该正在进行一些工作,这将允许 Jupyter 交互器与 Bokeh 服务器应用程序(不是独立输出)一起工作。
推荐阅读
- azure-devops - 当前环境不支持从 TTY 进行交互式阅读??Azure 管道,Anypoint
- c++11 - 调用“make_shared”没有匹配的函数
- angular - 有没有更好的方法来顺序调用不同的可观察调用?
- java - 如何从 Java 中用户提供的输入中定位文件
- android - 我无法生成签名的 apk。我收到这些消息的错误
- python - Python多维数组索引解释
- wordpress - 将 WordPress Rest API 请求限制到我的域
- c# - C# WPF 代码在创建堆栈面板时停止
- python - 计算密度图 D
- excel - Excel vlookup 无法匹配相同的文本,而值比较(单元格 A2 = 单元格 B2)有效