与多个小部件Bokeh的交互

时间:2018-06-06 14:12:45

标签: python-3.x bokeh

编辑:有些用户提到问题不清楚。我的目标是跟踪以前的状态。

我正在尝试创建一个可以使用3个小部件修改的绘图。但是,每个新的窗口小部件更改都不会考虑先前的窗口小部件选择(例如,如果使用窗口小部件1进行选择,然后修改窗口小部件2,则窗口小部件2的修改将考虑原始图形,而不是使用窗口小部件1进行的更改)。

我正在尝试避免使用Custom_JS,因为我没有使用Javascript的经验。有没有办法组合这些功能,以便小部件中的任何更改都考虑到以前的小部件交互?

MyServer

1 个答案:

答案 0 :(得分:1)

你的问题对我来说不是很清楚。你在谈论以前的小部件状态吗?回调可以访问所有其他小部件的当前状态,因此如果您想要保留其先前状态的历史记录,则必须明确跟踪该状态。

然而,我立即注意到不应该做的事情,所以我要发布一个答案只是为了引起人们的注意。不要创建新的CDS对象只是为了使用他们的.data属性并扔掉它们:

new1 = ColumnDataSource(df_closed.loc[(df_closed.Quote_Amount < N)])
source.data = new1.data

有很多机器,它们提供了所有自动同步Bokeh的其他功能。特别是CDS是非常重量级的复杂对象,上面这样做是一种可以破坏事物的已知反模式。相反,如果您只需要一个新的合适.data字典,请使用from_df

new_data = ColumnDataSource.from_df(df_closed.loc[(df_closed.Quote_Amount < N)])

source.data = new_data