解释from bokeh.layouts import gridplot from bokeh.models import CDSView, ColumnDataSource, IndexFilter from bokeh.plotting import figure, show # 创建ColumnDataSource source = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5], y=[1, 2, 3, 4, 5])) # 筛选index=[0,2,4] view = CDSView(source=source, filters=[IndexFilter([0,2,4])]) # 自定义工具栏 tools = ["box_select", "hover", "reset"] # 创建全数据图 p = figure(height=300, width=300, tools=tools) p.circle(x="x", y="y", size=10, hover_color="red", source=source) # 创建筛选数据图 p_filtered = figure(height=300, width=300, tools=tools) p_filtered.circle(x="x", y="y", size=10, hover_color="red", source=source, view=view) # 共同显示 show(gridplot([[p, p_filtered]]))
时间: 2024-04-28 10:20:43 浏览: 96
Python数据科学速查表 - Bokeh.pdf
这段代码展示了如何使用 Bokeh 库创建两个散点图,一个是全数据图,另一个是筛选数据图。在代码中,首先通过创建 ColumnDataSource 对象来存储散点图的数据。然后使用 IndexFilter 对象来筛选出 index 为 0、2、4 的数据。接着,使用 CDSView 对象来将 ColumnDataSource 对象和 IndexFilter 对象关联起来,创建一个视图。在全数据图和筛选数据图的创建中,都使用了相同的 ColumnDataSource 对象。在筛选数据图的创建中,我们将之前创建的视图传递给了 source 的 view 参数。最后,使用 gridplot 函数将两个散点图组合到一起,并使用 show 函数展示出来。
阅读全文