我有一个Juypter Notebook单元,上面有一些代码(不是我的代码),可以生成散景图。单元格中的最后一个命令是Bokeh show()命令。我想要的是该图出现在下面的输出单元格中,然后能够继续运行笔记本中的后续单元格。
发生的事情是,当我运行单元格时,该图显示在下面,但是带有代码的单元格继续运行(在左括号中为星号),并且永不停止。因此,除非单击停止按钮(这将使绘图在输出单元格中保持不变,但会跟随许多错误回溯消息行),否则我将无法继续运行其他任何单元格。
我的理解是,执行output_notebook()函数应导致show()给出我想要的行为,如下所述:
https://docs.bokeh.org/en/latest/docs/user_guide/notebook.html
在他们的屏幕截图中,带有show()命令的单元格显然已经完成运行(没有星号)。
我不确定是否有任何区别,但就我而言,我是在远程服务器上运行笔记本,并使用端口转发在笔记本计算机浏览器上查看它。
有人知道我如何获得show()命令来完成运行吗?
作为参考,这是代码:
# Use the PCA projection
dset = proj_pca
# Select the dimensions in the projection
dim1 = 0
dim2 = 1
p = figure(plot_width=945, plot_height=560)
p.title.text = 'PCA projection: PC' + str(dim1+1) + ' vs PC' + str(dim2+1)
for cont in continents:
for pop in pop_by_continent[cont]:
projections_within_population = dset[indices_of_population_members[pop]]
p.circle(projections_within_population[:,dim1], projections_within_population[:,dim2],
legend=name_by_code[pop], color = color_dict[pop])
#p.legend.visible = False
p.legend.location = "top_center"
p.legend.click_policy="hide"
output_file("interactive_pca.html", title="PCA projection")
output_notebook()
#save(p)
show(p)