Python 数据块中bokeh的For循环

Python 数据块中bokeh的For循环,python,bokeh,databricks,Python,Bokeh,Databricks,您好,我想循环for loop,例如下面的几次代码,以便在一个databricks单元格中获得几次相同的图形: 我导入了库: from bokeh.plotting import figure from bokeh.embed import components, file_html from bokeh.resources import CDN x = [1, 2, 3, 4, 5] y = [6, 7, 2, 4, 5] for i in range(5): p = figure(ti

您好,我想循环for loop,例如下面的几次代码,以便在一个databricks单元格中获得几次相同的图形:

我导入了库:

from bokeh.plotting import figure
from bokeh.embed import components, file_html
from bokeh.resources import CDN

x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]


for i in range(5):
p = figure(title='test', x_axis_label = 'x values', y_axis_label='y values')
p.line(x,y, line_width =2)
html = file_html(p,CDN,'plot')
displayHTML(html)
我试图使用for循环,但仍然只能在一个单元格中获得一个图形

还尝试了不同的模块,如下所示:

from bokeh.io import output_file, show
from bokeh.plotting import figure

x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]

for i in range(5):
  p = figure(title='test', x_axis_label = 'x values')
  p.line(x,y, line_width =2)
  output_file("line"+str(i)+".html")
  show(p)
但在这里我没有得到任何结果,没有任何结果。你能告诉我为什么吗

我也试过:

d={}
for i in range(5):
  p = figure(title='test', x_axis_label = 'x values')
  p.line(x,y, line_width =2)
  d["html{0}".format(i)]=file_html(p,CDN, 'plot' + str(i))

for j in d:
  displayHTML(j)
看起来,在databricks中使用bokeh时,每个单元格只能显示一个图形。有人知道这是不是真的吗


您能帮我了解for循环的语法以多次获取它吗?

从其他答案来看,使用Bokeh不完全支持的旧笔记本版本的Databrick可能存在问题。如果标准的
output\u笔记本
不起作用,但
displayHTML
却起作用,那么我认为最好的办法是收集要在
布局中显示的绘图,然后在最后调用
show
一次显示所有绘图:

from bokeh.layouts import column

plots = []
for i in range(5):
    p = figure(...)
    p.line(...)
    plots.append(p)

layout = column(*plots)

# only use this way for databricks
html = file_html(layout, CDN, 'plot')
displayHTML(html)

上面的代码没有任何for循环,因此不可能进行推测。一个情节正是上面的代码所期望产生的。您应该提供实际上与引起问题的代码相似或相同的代码。@bigreddot已更新。我也把我试过的东西放在笔记本里了?什么版本?什么版本的博克?您不使用
output\u notebook
的具体原因是什么?这是所有文档、示例和教程中的内容吗?是的,我正在尝试在azure databricks笔记本中运行它,不幸的是,我不知道如何检查笔记本的版本。已安装Bokeh库-1.2.0。是的-当我尝试使用output_file/output_notebook时没有任何结果,就像在bokeh网站上的示例中一样,我没有得到任何可视化效果-看起来代码运行时没有错误,但我没有得到任何结果。很好的解决方案,但对我来说仍然无法在databricks中工作,但感谢您的努力!我用
displayHTML
进行了更新,这很不寻常,用
show
回答是习惯性的。但是如果
displayHTML
可以显示一个绘图,那么它也可以用于单个布局。是的,你说得对,谢谢!我相信html中的p不是指打印多个图形的绘图或布局