我曾尝试复制Bokeh movies example上的"movies"示例,但使用了其他参数来满足我自己的需求。Bokeh的新手,我似乎无法理解实际获取输出文件/图标的语法,我以后可以使用该文件/图标来运行程序。
基本上,我不确定curdoc
在电影代码结束时在做什么,也不确定为什么在某个地方没有output_file("movies.html", title="Movies Tester", mode="cdn")
或类似的东西。
如果有一个更好的例子可以说明我可以在主页上使用输入pandas DataFrame,我想在互动图中以不同的形式呈现它的列,那当然也会很可观。
任何我可以利用的技巧或窍门都是非常受欢迎的!
谢谢!
Movies示例是一个bokeh服务器应用程序。它只能通过与Bokeh服务器一起运行来使用,即通过执行
bokeh serve --show movies
在命令行中。没有要创建的输出文件。要与Bokeh服务器应用程序交互,必须运行。
Bokeh应用程序中的代码工作是构建一个Bokeh文档(即放入绘图和小部件等(,这就是它使用curdoc().add_root(...)
所做的。脚本中的代码在布局中构建绘图和小部件,并将其添加到新文档中。每次浏览器连接到Bokeh服务器时,Bokeh server都会运行应用程序代码,为该会话创建一个新的新文档。
相比之下,output_file
函数用于生成独立的HTML/JS,而不依赖Bokeh服务器。(在独立文档中仍然可以有很多交互,比如CustomJS
回调,你通常无法运行真正的Python代码。(
(也可以在常规python脚本中"嵌入"Bokeh作为库,但这是一种更高级的用法。有关更多信息,请参阅用户指南部分"将Bokeh服务器嵌入为库"。(