Bokeh Bokeh中的’hold’功能发生了什么变化
在本文中,我们将介绍Bokeh库中的’hold’功能的变化。Bokeh是一个Python交互式可视化库,用于创建漂亮的数据可视化图表。’hold’是一个用于控制绘图工具的开关,它决定是否更新绘图而不清除已经存在的图表。
在早期版本的Bokeh中,’hold’功能是通过调用’hold(True)’来启用,这将使得在新的绘图时不清除已存在的图表。例如,我们可以先绘制一个折线图,然后设置’hold’为True,再绘制一个散点图。这样,两个图表将被叠加显示。
示例代码如下:
from bokeh.plotting import figure, show
# 创建一个新的绘图
p = figure(plot_width=400, plot_height=400)
# 绘制折线图
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2)
# 设置'hold'为True
p.hold(True)
# 绘制散点图
p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=10, fill_color="red", line_color="black")
# 显示图表
show(p)
然而,在新版本的Bokeh中,’hold’功能发生了变化。Bokeh 2.0之后的版本中,’hold’被废弃了。在新的版本中,默认情况下,每次调用绘图函数时都会清除已经存在的图表。这意味着,如果我们想在同一个图表上添加新的数据或图形,需要在每次绘图之前重新创建一个新的绘图对象。
示例代码如下:
from bokeh.plotting import figure, show
# 创建一个新的绘图
p = figure(plot_width=400, plot_height=400)
# 绘制折线图
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2)
# 创建一个新的绘图
p = figure(plot_width=400, plot_height=400)
# 绘制散点图
p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=10, fill_color="red", line_color="black")
# 显示图表
show(p)
通过上述示例代码可以看出,在新版本的Bokeh中,我们需要在每次需要添加新的数据或图形时重新创建一个新的绘图对象。这样做的好处是,可以更灵活地控制图形的更新和清除操作,避免产生不必要的混乱。
阅读更多:Bokeh 教程
总结
Bokeh库中的’hold’功能在较新的版本中已被废弃。在Bokeh 2.0之后的版本中,默认情况下,每次调用绘图函数都会清除已经存在的图表。因此,如果我们想在同一个图表上添加新的数据或图形,需要在每次绘图之前重新创建一个新的绘图对象。这样的改变使得图表的更新和清除操作更加灵活和可控。通过了解和应用这个变化,我们可以更好地利用Bokeh库来创建漂亮的数据可视化图表。