python - Bokeh - 为补丁图形上的单个字形创建自定义悬停工具
问题描述
我大致按照Bokeh 文档中的 texas.py 示例创建了一个地图。我正在尝试在地图上添加一个具有自己的鼠标悬停行为的点。我添加了以下字形:
bc_glyph = Circle(x=barclays_x, y=barclays_y, size=10, line_color="black", fill_color="silver", line_width=1)
我试图用这个创建自定义 HoverTool 行为:
bc_ht = HoverTool(renderers=['bc_glyph'], tooltips=['Barclays Stadium'])
然后我打电话plot.add_glyph(bc_glyph)
。运行我的脚本时,我得到以下输出:
ValueError: expected an element of either Auto or List(Instance(Renderer)), got ['bc_glyph']
错误消息的快速谷歌导致Bryan 帮助另一个用户解决类似问题,所以我重写如下:
plot_add = plot.add_glyph(bc_glyph)
bc_ht = HoverTool(renderers=['plot_add'], tooltips=['Barclays Stadium'])
但是,这会返回相同的错误:
ValueError: expected an element of either Auto or List(Instance(Renderer)), got ['plot_add']
我知道我输入了错误的输入renderers
,但我不确定如何更正。任何帮助表示赞赏。
解决方案
您仍在传递一个字符串 ,'plot_add'
作为值。您需要传递实际变量:
bc_ht = HoverTool(renderers=[plot_add], # no quote around plot_add
tooltips=['Barclays Stadium'])
推荐阅读
- r - 为什么这个 R 代码不产生相同的结果?(卷积与 FFT)
- recursion - 较大尝试的递归释放
- typescript - webpack ts-loader - 没有编译/编译的类型检查?
- java - 将 Mat 转换为 EM 的一维浮点数组?
- charles-proxy - 在 Charles 断点的路径上使用通配符
- vb.net - 如何替换一行单元格的单元格内容与写入每个单元格
- python - 为什么 current_thread() 总是返回 MainThread?
- c# - System.NullReferenceException 用于在 Windows 服务器 IIS 上运行但在 Visual Studio IIS Express 中运行时在本地运行的 .NET 服务
- php - laravel中如何通过api更新用户
- apache-spark - Pyspark sc.binaryFiles() 压倒驱动节点