散景CustomJS回调可在滑块移动时更改DataFrame的行

时间:2020-06-10 01:03:50

标签: javascript python pandas bokeh stock

有时间尝试解决这个问题:

具有包含数据行的df。从df绘制几行,如下所示:

symchart.line(proj_dates, proj_i10, color = "purple", line_width = 2)
symchart.line(proj_dates, proj_ZL, color = "red", line_width = 1)
z0_renderer = symchart.line(proj_dates, proj_Z0, color = "navy", line_width = 1)
symchart.line(proj_dates, proj_ZL, color = "red", line_width = 1)
symchart.line(proj_dates, proj_i90, color = "purple", line_width = 2)

每行的数据来自以下内容:

proj_i10 = interval_df.iloc[1,2:]
proj_ZL = interval_df.iloc[2,2:]
proj_Z0 = interval_df.iloc[3,2:]
proj_ZU = interval_df.iloc[4,2:]
proj_i90 = interval_df.iloc[5,2:]
proj_dates = interval_df.iloc[0,2:]

目标是移动滑块并使每个线图更改其从df使用的行。因此,滑块值= 1保留上述图表。对于滑块的每次移动,图都将移动5行,因此滑块值= 2时,每条线图将在df中向下跳5行并重绘该图。滑块值停止在31。

这是不带滑块的输出示例

数据df的示例

1 个答案:

答案 0 :(得分:0)

无法更改DataFrame本身,因为它是Python构造,并且CustomJS使用JavaScript。但是,仍然可以通过使用视图和过滤器并避免更改整个数据来实现所需的行为。关于它的文档部分:https://docs.bokeh.org/en/latest/docs/user_guide/data.html#filtering-data