【问题标题】:Use Bokeh HoverTool on Pandas DataFrame with Multiple Columns在具有多列的 Pandas DataFrame 上使用 Bokeh HoverTool
【发布时间】:2017-03-01 15:05:45
【问题描述】:

我有一个大约 30 列的 pandas DataFrame,每个列都有相同日期的数据(例如,DataFrame 的列是传感器,DataFrame 的行是传感器在这些日期的读数)。我希望能够将鼠标悬停在数据点上并获得该传感器读数的工具提示。我可以通过为每个传感器名称创建一个 HoverTool 并命名每个字形来做到这一点。唯一的问题是 30 种不同的 HoverTools 出现在图的右侧,这很丑。我以为 HoverTool.always_active 会解决这个问题,但似乎这个功能没有实现。

有没有办法在散景中隐藏 HoverTool 图标?如果没有,是否有更好的方法在 DataFrame 上实现 HoverTool?我可以将数据重塑为 [n,3] 数组,但我不想这样做。

列是 ["Sensor A, X", "Sensor A, Y", "Sensor B, X", "Sensor B, Y",...] 所以我有一个 HoverTool 用于名称为“Sensor”的字形A”和一个用于名称为“传感器 B”的字形等。

为一个 HoverTool 提供一长串工具提示:

有很多 HoverTools:

我可以通过隐藏工具栏绕过 HoverTools 列表,但这不是一个非常干净的解决方案。

【问题讨论】:

    标签: python bokeh


    【解决方案1】:

    假设您的数据使用

    加载到 Bokeh 中
    source = ColumnDataSource(df)
    

    然后你可以尝试类似的东西

    p.select_one(HoverTool).tooltips = [
        (value, value_data),
        ('A_X', '@A_x'),
        ('A_Y', '@A_Y')
    ]
    

    看看

    http://docs.bokeh.org/en/latest/docs/gallery/unemployment.html

    【讨论】:

      【解决方案2】:

      我最终使用 pandas 中的 melt 函数将 [26,28] pandas 数据帧转换为 [2,364] 数据帧,这样我只需要使用一个悬停工具。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-12
        • 1970-01-01
        • 1970-01-01
        • 2019-02-14
        • 2019-06-02
        • 1970-01-01
        相关资源
        最近更新 更多