Bokeh图表只会弹出一个空白窗口

8

最近我一直在努力学习Bokeh,一切都很顺利,但突然之间每当我尝试制作Bokeh图时,浏览器就只显示空白页面。我没有收到任何错误代码,只有空白页面出现。这些程序曾经成功地用于创建绘图,就在几天前。我甚至尝试加载了一个几周前制作的html绘图文件,该文件在同事的电脑上运行良好,但我得到了相同的结果。我甚至尝试了其中一个基本示例代码,也得到了相同的空白页面。

from bokeh.plotting import figure, output_file, show

p = figure(title="line", plot_width=300, plot_height=300)
p.line(x=[1, 2, 3, 4, 5], y=[6, 7, 2, 4, 5])

show(p)

我从未尝试过,但是如果您没有联网,标准的Bokeh图会起作用吗?它是否会调用外部服务器来生成图表,也许现在我的工作中有一些IT更改阻止了图表的生成?

谢谢任何帮助!

1个回答

6
它不会调用外部服务器,但需要浏览器加载JavaScript库BokehJS。默认情况下(且符合普遍需求),BokehJS从CDN(具体来说是从https://cdn.bokeh.org)远程加载。因此,查看配置为使用CDN资源的Bokeh图需要处于活动和正常工作状态的网络连接。

但是,可以使用“内嵌”资源,也就是将BokehJS库直接包含在Bokeh(Python库)生成的HTML输出中。最简单的方法是设置环境变量:

BOKEH_RESOURCES=inline

除此之外,还有其他指定资源的方式。欲了解更多详细信息,请参见文档


顺便提一句,在这种情况下,查看浏览器的JavaScript控制台是非常有帮助的。如果CDN资源无法加载,您将在控制台中看到错误信息。


2
太棒了,谢谢。看起来是与pydata.org的连接问题,因为我的公司网络决定出于某种原因将其封锁一两天。 - BikeControl
2
整个pydata.org网站显然在前几天切换了DNS提供商。对于大多数人来说,它立即正常工作,但显然由于某种原因,这种变化并没有立即正确地显示给一部分人。 - bigreddot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接