'hold' 在散景中发生了什么?

What happened to 'hold' in bokeh?

许多散景示例使用 hold 命令。我可以从文档中看到它自 0.8.0 版以来已被弃用 所以我尝试了这个:

x = figure(x_axis_type = "datetime", tools=Tools)
x.hold()

但没有快乐...attribute 'hold' does not exist

如何更新此类示例以适用于最新版本的散景?

如下所述,这个问题的答案:bokeh overlay multiple plot objects in a GridPlot 表示 hold 已弃用。

我认为(根据 3 秒的实验),可以删除 hold 命令。因为我不知道 的意思,所以我无法验证这是正确的:-)。

我很乐意在这里确认这一点。

编辑:澄清一下,这个问题和答案指的是几年前删除的旧 hold() 绘图函数,而不是最近的(完全不相关的)Document.hold() 暂停服务器更新的方法)

bokeh.plotting API 曾经有一个隐含的概念 "current plot"。默认情况下,每个绘图函数(如 circlerect 都会创建一个新绘图。 hold 函数旨在停止新绘图的创建,因此可以将多个渲染器添加到同一绘图中。为了支持没有 "current plot" 概念的更明确的接口,这被删除了。这在 IPython 笔记本和服务器示例中提供了更可靠的交互。要在单个图上添加多个渲染器,现在看起来像,例如:

p = figure(...)
p.circle(...)
p.rect(...)

由于现在所有操作都是显式 "plot" 对象上的方法,因此不需要 hold(因此没有替代品)。