我已经用Python制作了Bokeh视觉图像,并且正在努力了解如何使控件/输入更改数据。
Bokeh画廊有an example which does what I'm after in a more advanced way和also has the code,我似乎想念的是control.on_change('value', lambda attr, old, new: update())
,但我不知道update()和select函数在做什么。
这里是我被困的地方的高度简化版本。我想过滤出“航班”值小于在滑块上选择的值的条目。
from bokeh.plotting import figure, output_file, ColumnDataSource, show
from bokeh.models import Slider
from bokeh.layouts import column, layout
data = dict(
Flights = [97, 34, 23, 6, 26, 97, 21, 92, 73, 10, 92, 14, 77, 4, 25, 48, 26, 39, 93],
Not_Cancelled = [87, 63, 56, 38, 57, 63, 73, 56, 30, 23, 66, 47, 76, 15, 80, 78, 69, 87, 28],
OnTime_Arrivals= [21, 65, 86, 39, 32, 62, 46, 51, 17, 79, 64, 43, 54, 50, 47, 63, 54, 84, 79])
source = ColumnDataSource(data = data)
output_file('index.html')
p = figure()
p.circle('OnTime_Arrivals', 'Not_Cancelled', source = source, size = 20)
MinFlights = Slider(start=0, value = 50, end=100, step=1)
controls = [MinFlights]
inputs = column(*controls, width = 200)
l = layout([[inputs,p]])
show(l)
我也很困惑,为什么有些文档指出回调需要Javascript,当我了解Bokeh为您管理所有Javascript的前提时。理想情况下,我想将其全部保留在Python中。
很抱歉提出这样一个愚蠢的问题。我花了最后两个小时发疯,想知道为什么我没办法这么简单地工作,而在这里合法地去买香蕉。衷心感谢您的帮助。
我也很困惑,为什么有些文档指出回调需要Javascript,当我了解Bokeh为您管理所有Javascript的前提时。理想情况下,我想将其全部保留在Python中。