Bokeh Bokeh中的’hold’属性发生了什么

Bokeh Bokeh中的’hold’属性发生了什么

在本文中,我们将介绍Bokeh中的’hold’属性,并探讨它在最近的版本中发生了什么变化。

阅读更多:Bokeh 教程

什么是’hold’属性?

‘hold’是Bokeh中一个重要的属性,它控制着是否在绘图时立即显示结果。在旧版本的Bokeh中,默认情况下,’hold’属性被设置为True,这意味着每个绘图命令都会立即显示在屏幕上。这样的行为适用于大多数用户的需求,但对于一些特定的情况,更灵活的控制就显得尤为重要。

‘hold’属性的变化

在最近的版本中,Bokeh团队对’hold’属性进行了重大调整。为了提高性能和使Bokeh与其他Python绘图库更加一致,将’hold’的默认值更改为False。这意味着现在,当你发出一个绘图命令时,结果不会立即显示在屏幕上,而是会等到显示整个绘图的命令被执行时才一起显示。

这一变化可能会对原有代码产生一些影响。例如,在旧版本中,以下代码会立即显示两个图表:

p1 = figure()
p1.circle(x=[1, 2, 3], y=[1, 2, 3], color='red')
show(p1)

p2 = figure()
p2.line(x=[1, 2, 3], y=[3, 2, 1], color='blue')
show(p2)

而在最新版本中,同样的代码只会在最后一行的show命令执行时才会显示两个图表。

为了在新版本中实现类似于旧版本的’hold’行为,你可以显式使用output_notebook(hold=True)方法。这样一来,每个绘图命令都会立即显示结果。

from bokeh.io import output_notebook, show
from bokeh.plotting import figure

output_notebook(hold=True)

p1 = figure()
p1.circle(x=[1, 2, 3], y=[1, 2, 3], color='red')
show(p1)

p2 = figure()
p2.line(x=[1, 2, 3], y=[3, 2, 1], color='blue')
show(p2)

总结

Bokeh中的’hold’属性在最近的版本中发生了重要的变化。默认情况下,’hold’属性由原来的True改为False,使得绘图结果不再立即显示在屏幕上。为了模拟旧版本的行为,可以显式设置output_notebook(hold=True)。这样,每个绘图命令都会立即显示结果。这一改变提高了性能和与其他Python绘图库的兼容性。无论是使用旧版本还是新版本的Bokeh,我们都可以根据具体需求来控制’hold’属性的行为。通过适应新版本的Bokeh,我们可以更好地适应未来的数据可视化需求。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Bokeh 问答