将Bokeh更新到0.5.0后,图形的所有旧版本在一个窗口中绘制

9 投票
2 回答
2373 浏览
提问于 2025-04-18 13:15

在我更新之前,我会运行我的脚本,然后输出一个html文件。这个文件里会有我画的一个图。我会对脚本做一些修改,再运行一次,输出新的html文件,查看新的图。后来我用conda重新安装了这个库来更新它。我又对脚本做了一些修改,再次运行,结果输出的文件里竟然包含了我修改之前的图和修改之后的图。我出于好奇又运行了一次,结果一个文件里有三个图!再运行一次,变成四个!我删除了html文件(没有覆盖),结果变成五个!我还试着改了输出html文件的名字,结果变成六个!甚至我还尝试改了脚本的名字,结果图还是一个接一个地出现。

这是怎么回事?为什么它会把我以前画的每一个图都画出来呢?

2 个回答

1

你是在一个笔记本里运行吗?还是说你多次运行“python myscript.py”这个命令?如果是后者,我不明白这怎么可能,但肯定是个bug。你能把你的脚本或者一个简单的例子发出来吗?如果你在Bokeh的GitHub问题追踪器上提个问题,我们也可以帮你看看。 https://github.com/ContinuumIO/bokeh/issues?labels=&page=1&state=open

10

从0.5.1版本开始,新增了一个叫做bokeh.plotting.reset_output的功能,它可以清除所有的输出模式和状态。这在一些情况下特别有用,比如在执行代码时没有重新启动新的解释器(比如在Spyder和笔记本中)。

撰写回答