我的以下代码段正常工作:
import numpy as np
import bokeh.plotting as bp
from bokeh.models import HoverTool
bp.output_file('test.html')
fig = bp.figure(tools="reset,hover")
x = np.linspace(0,2*np.pi)
y1 = np.sin(x)
y2 = np.cos(x)
s1 = fig.scatter(x=x,y=y1,color='#0000ff',size=10,legend='sine')
s1.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
s2 = fig.scatter(x=x,y=y2,color='#ff0000',size=10,legend='cosine')
fig.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
bp.show()
Run Code Online (Sandbox Code Playgroud)
no liine s1.select ...返回一个生成器,并给我以下错误:
AttributeError: 'generator' object has no attribute 'tooltips'
Run Code Online (Sandbox Code Playgroud)
服务器更新已针对正在运行此代码的进程进行。散景可能已被更新。我最快的解决方法是什么?还是我缺少一个错误?
前一段时间,字形方法已更改为返回字形渲染器,而不是返回绘图。这使得配置字形渲染器的视觉属性变得更加容易。返回图是多余的,因为用户通常已经有对该图的引用。但是您要在绘图中搜索悬停工具,而不是字形渲染器,因此您需要执行以下操作:
fig.select(HoverTool).tooltips = {"x":"$x", "y":"$y"}
Run Code Online (Sandbox Code Playgroud)
请注意,使用字典意味着无法保证工具提示的顺序。如果您关心订单,则应使用元组列表:
fig.select(HoverTool).tooltips = [("x", "$x"), ("y", "$y")]
Run Code Online (Sandbox Code Playgroud)
然后,工具提示行将按照给定的顺序从上到下显示。
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |