python - HoloViews DynamicMap 悬停工具不会随所选变量更新
问题描述
我正在学习带有 Bokeh 后端的 HoloViews,并正在对 pandas DataFrame 的所选列进行 iPython/Jupyter 显示(实际上它是一个 xarray 数据集,但使用 DataFrame 显示问题更简单)。问题是,当我选择除第一列/变量以外的任何列/变量时,悬停工具提示仍显示第一列/变量的值。我的代码大致基于HoloViews 仪表板文档。
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'])
使用悬停工具并选择第一个变量: 使用悬停工具并选择第二个变量:
请注意,为 var1 显示了正确的工具提示值 (0.200)。But when var2 is selected, the hover tool still shows the value for var1, even though the tooltip is in the correct place for var2. 这里发生了什么?
解决方案
显然这是全息视图中的一个错误,正如开发人员在这里回答的那样(问题 #3609)
它在 holoviews 1.12.2 版本中正式解决。如果有人仍然遇到这个问题,升级到最新版本应该可以解决它。
推荐阅读
- pandas - Pandas merge_asof() 给出重复匹配
- c# - AutoMapper 复制 EF 连接的对象,无需一行和几行代码
- angular - 如何使用隐藏和显示动态值来隐藏离子3中的值
- vb.net - IF报表中如何更改日期
- c# - 地图表达
> 到表达式 > 使用 AutoMapper - java - 为什么 Spark 的 LongAccumulator 不实现 equals()
- .net - 如何在不重复代码的情况下创建带有标签的切换按钮?
- bash - 根据 git diff 和搜索特定关键字自动修改文件行
- azure-cli - az webapp deployment source config 选择解决方案文件
- swift - 使用 xcuitest 获取状态复选框