【问题标题】:Bokeh CustomJS Callback to change rows of DataFrame when slider movesBokeh CustomJS 回调以在滑块移动时更改 DataFrame 的行
【发布时间】:2020-06-10 01:03:50
【问题描述】:

有时间想办法解决这个问题:

有一个包含数据行的 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示例

【问题讨论】:

    标签: javascript python pandas bokeh stock


    【解决方案1】:

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

    【讨论】:

    • 是的,我试图将其破解,但惨遭失败。这是问题所在:proj_date 有一列日期,我只想查看与 proj_date 中的日期对应的数据行。我失败的地方是更改滑块上的值以影响 proj_date 中日期的更改。我一直在搜索文档以了解该功能的解释,但我非常震惊。我以为我拥有它,然后,好吧,没有。还有其他地方我应该看看吗?
    • 我不知道。如果没有一个最小而完整的例子,我真的无法说出任何事情。
    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    相关资源
    最近更新 更多