HoloViews DynamicMap悬停工具不会使用所选变量进行更新

时间:2019-03-21 20:04:03

标签: python jupyter-notebook bokeh holoviews pyviz

我正在使用Bokeh后端学习HoloViews,并且正在对熊猫DataFrame的选定列进行iPython / Jupyter显示(实际上这是一个xarray数据集,但是更容易显示出DataFrame的问题)。问题是,当我选择第一个列/变量以外的任何列/变量时,悬停工具提示仍会显示第一列/变量中的值。我的代码大致基于HoloViews dashboard docs

import holoviews as hv
import pandas as pd
import numpy as np
hv.extension('bokeh')

df = pd.DataFrame()
df['time'] = pd.date_range('2018-01-01', '2018-01-31')
df['var1'] = np.linspace(0, 1, len(df['time']))
df['var2'] = np.ones(df['var1'].shape)

def load_symbol(var):
    return hv.Curve(df, ('time', 'Time'), var)

variables = ['var1', 'var2']
dmap = hv.DynamicMap(load_symbol, kdims='Variable').redim.values(Variable=variables)

dmap.opts(framewise=True, tools=['hover'])

使用悬停工具并选择第一个变量: enter image description here 在选择第二个变量的情况下使用悬停工具: enter image description here

请注意,为var1显示了正确的工具提示值(0.200)。但是,当选择var2时,即使工具提示位于var2的正确位置,悬停工具仍会显示var1的值。这是怎么回事?

1 个答案:

答案 0 :(得分:0)

显然,这是全息视图中的错误,因为开发人员回答了here (issue #3609)

holloviews的1.12.2版正式解决了该问题。 如果仍然有人遇到此问题,则升级到最新版本应该可以解决。