首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用值映射创建自定义悬停工具

如何使用值映射创建自定义悬停工具
EN

Stack Overflow用户
提问于 2020-04-21 14:17:13
回答 1查看 171关注 0票数 1

我正在尝试创建一个自定义悬停工具,使用该工具获取绘图的y值,并将该值映射到不同的值。

到目前为止,我能想出的实现此功能的代码是

代码语言:javascript
运行
复制
from bokeh.models import HoverTool
import holoviews as hv

df = pd.DataFrame(
    {
        "zero": [0, 0, 0, 0, 0, 0, 0],
        "one": [1, 1, 1, 1, 1, 1, 1],
        "two": [2, 2, 2, 2, 2, 2, 2],

    }
)

mapping = {i: c for i, c in enumerate(df.columns)}


def col_mapping(num):
    return mapping[int(num)]


hover = HoverTool(tooltips=[("x", "$x"), ("y", "$y")])

img = hv.Image((df.index, np.arange(df.shape[1]), df.T)).opts(tools=[hover])
img

xy将是浮点值。因此,我们的想法是将y坐标映射到mapping字典中的相应值

让我知道如何在悬停工具中获得新值,以便当值为b/w 0和1时,它将

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-21 19:35:56

我是这样做的:

代码语言:javascript
运行
复制
code = f"return ({json.dumps(mapping)})[Math.floor(special_vars.y)];"
hover = HoverTool(tooltips=[("x", "$x"), ("y", "$y"), ('mapped_y', '$y{0}')],
                  formatters={'$y': CustomJSHover(code=code)})

如果您需要比col_mapping更复杂的代码,那么您必须使用ColumnDataSource并向其添加完全转换的列。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61337080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档