Skip to main content
 首页 » 编程设计

Python Bokeh 可能的错误,只显示最后一张图

2024年11月01日1wuhuacong

Python 3.7.4、Windows 10、Bokeh 1.3.4。

重现步骤:

import numpy as np 
from bokeh import plotting as plt 
 
y = np.asarray([4, 5, 6]) 
z = np.asarray([1, 2, 3]) 
x = np.asarray([1, 2, 3]) 
y_figure = plt.figure() 
y_figure.line(x, y) 
z_figure = plt.figure() 
z_figure.line(x, z) 
plt.show(y_figure) 
plt.show(z_figure) 

将以上内容作为脚本运行,而不是 Jupyter Notebook。正如预期的那样,将出现两个网页,但都显示最后一个数字 (z_figure)。您可以通过检查垂直轴来验证这一点。

这是一个错误吗?

请您参考如下方法:

不是错误。如果您没有明确指定输出文件名,Bokeh show 将使用当前运行脚本的名称。因此,通过不提供名称并执行两次 show,您将用第二个覆盖第一个的输出。解决方案是明确的:

output_file("y.html") 
plt.show(y_figure) 
 
output_file("z.html") 
plt.show(z_figure)