如何创建具有值映射的自定义悬停工具

2023-12-08

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

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

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

x and y将是浮点值。所以我们的想法是绘制地图y坐标到其对应值mapping字典

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

Thanks


我是这样做的:

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并将完全转换的列添加到其中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建具有值映射的自定义悬停工具 的相关文章

  • 使用 Python/bokeh 在网站中嵌入绘图

    我试图在个人网站中静态嵌入散景图 但遇到了一些我不理解的行为 基本上 我使用散景生成一个绘图 如下所示 import bokeh plotting as bplt import numpy as np x np random random
  • 如何用Python做华夫饼图? (方形饼图)

    Something like this 有一个很好的包在 R 中做到这一点 https github com hrbrmstr waffle 在Python中 我能想到的最好的办法就是使用squarify包 灵感来自关于如何制作树形图的帖子
  • 更改 Holoviews 直方图上的 x 轴 (xlim)

    在 matplotlib 中 我们可以使用 xlim 方法更改 x 轴的限制 HoloViews中有等效的方法吗 我搜索了高压选项页面 http ioam github io holoviews Tutorials Options 但没有找
  • 为什么 Bokeh 的情节不随情节选择而改变?

    努力去理解为什么这个散景视觉效果不允许我更改绘图并查看预测数据 出现绘图和选择 下拉式 菜单 但我无法更改菜单中项目的绘图 通过 Anaconda 运行 Bokeh 1 2 0 该代码已在 Jupyter 内部和外部运行 运行代码时不会显示
  • 无法对未注册的加载器类型执行此操作

    我正在使用散景进行数据可视化 并尝试制作可执行文件 但它显示错误消息 无法对未注册的加载程序类型执行此操作 我尝试过作为解决方案init py 到我的 script py 的目录 subdir 但它不起作用 附言 Win10 Python
  • 将文件信息从 html 文件选择器输入传递给 python 和 bokeh

    我正在尝试创建一个简单的散景服务器应用程序 允许用户从
  • 在散景图中创建两线图例

    我正在尝试创建一个散景图 上面有很多单独的线条 准确地说是 14 条 不是我的想法 被告知要这样做 问题是 所请求的格式具有沿图表底部水平的图例 并且它太长而无法容纳 所以我需要它是两行 但我似乎找不到任何关于如何执行此操作的指示 希望有人
  • 如何让散景悬停工具捕捉数据?

    我希望散景悬停工具捕捉到数据点 而不是在线上插入鼠标位置 这是我认为可以做到这一点的代码 但我仍然在显示中获得插值数据 from bokeh plotting import figure output file show from boke
  • 在散景中动态添加小部件

    我想在散景中动态添加滤镜 即每次按下按钮时 都会附加一个新的滤镜 然而 添加新的小部件后 布局会被破坏 新的小部件会覆盖旧的小部件 而不是重新计算布局 代码示例 from bokeh layouts import row column fr
  • 在散景刻度标签中插入换行符

    我想在 Bokeh 中创建多行格式的刻度标签 在常规 Python 中以这种方式格式化很简单 例如 n format Category Percentage 将打印 Percentage 在我的代码中 我这样做是为了创建绘图数据 ds Or
  • 散景中的多线悬停

    正如在这个问题中 多线散景和 HoverTool https stackoverflow com questions 32975709 bokeh multi line and hovertool 我发现悬停工具没有针对多线图实现 这是一个
  • 在散景 vbar 工具提示中显示高度

    我想制作一些简单数据的条形图 例如像这样的 pandas 数据框 Cats 4 Dogs 3 Mice 27 我想要一个工具提示 当鼠标悬停在栏上时显示如下内容 Name Cats Count 4 对于条形图 这适用于 hover tool
  • 将多个散景 HTML 图嵌入到 Flask 中

    我在 bokeh 网站和 stack Overflow 上搜索了过去 3 个小时 但没有一个是我真正想要的 我已经生成了我的图 并将它们放在 html 文件中 我想要做的就是将绘图嵌入到仪表板中 形成下图白色区域中的多网格状结构 然而 仅添
  • 在散景中使用 x 轴上的月份

    假设我有以下数据 import random import pandas as pd numbers random sample range 1 50 12 d month range 1 13 values numbers df pd D
  • 使用散景滑块滑动图像

    我试图在滑块的帮助下无缝地传达大量科学数据 我从 Bokeh 开始 对 javascript 几乎一无所知 我尝试设置第一种方法来滑动两个图像 但我无法刷新图像 假设我的文件夹中有 1 png 和 2 png from bokeh io i
  • 为什么我的散景图在 github 上不起作用?

    我在 github 上有一个私人仓库 并且正在尝试散景 我在本地编辑 ipython 笔记本中的文件 可以看到该图正在运行 当我将它们推送到 github 并尝试在线可视化时 我可以看到除图表之外的所有代码 在 nbviewer 上我可以看
  • 带有 Bokeh vbar 图的分类 y 轴和日期时间 x 轴

    我想使用散景绘制 vbar 图 其中 x 轴采用日期时间 y 轴采用分类值 最初我尝试了如下圆形图 import pandas as pd from datetime import datetime from dateutil parser
  • 在散景图中隐藏图例

    LS 散景图会自动生成图例 如何隐藏 根本不显示 散景图中的图例 我试过 legend none 但没有成功 谢谢 如果我能稍微扩展一下 legend False是使散景图例不可见的正确方法 但它在绘图本身的创建中使用 而不是作为绘图对象的
  • Python Bokeh HoverTool 格式化程序错误:“HoverTool 出现意外的属性‘格式化程序’”

    我使用jupyter笔记本做了可视化的练习 然后我按照代码进行操作http docs bokeh org en latest docs user guide tools html basic tooltips http docs bokeh
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do

随机推荐