Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python bokeh中可能的更新导致了一个奇怪的生成器错误_Python_Bokeh - Fatal编程技术网

Python bokeh中可能的更新导致了一个奇怪的生成器错误

Python bokeh中可能的更新导致了一个奇怪的生成器错误,python,bokeh,Python,Bokeh,我使用了以下代码段: 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='

我使用了以下代码段:

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()
否。请选择线s1。选择。。。返回一个生成器并给出以下错误:

AttributeError: 'generator' object has no attribute 'tooltips'

运行此代码的进程发生了服务器更新。bokeh可能已经更新。我最快的解决方法是什么??还是我缺少了一个bug?

不久前,glyph方法被更改为返回glyph渲染器,而不是打印。这使得配置glyph渲染器的视觉属性更加容易。返回绘图是多余的,因为用户通常已经有了对绘图的引用。但您希望在绘图中搜索悬停工具,而不是glyph渲染器,因此需要执行以下操作:

fig.select(HoverTool).tooltips = {"x":"$x", "y":"$y"}
请注意,使用字典意味着无法保证工具提示的顺序。如果您关心顺序,则应使用元组列表:

fig.select(HoverTool).tooltips = [("x", "$x"), ("y", "$y")]

然后工具提示行将按照给定的顺序从上到下显示

嗯,但这行不通?由于我在同一个图上有不同的散点图,请参见?在
工具
参数中放置
“hover”
,只会创建一个悬停工具。如果您想要多个不同配置的悬停工具,您必须更加明确。例如,请参见“手动”添加悬停工具并使用特定渲染器进行配置的示例