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)