Tôi có đoạn mã ví dụ nhỏ sau đây cách sử dụng NumPy và bokeh:HoverTool cho nhiều loạt dữ liệu trong cốt truyện bokeh phân tán
import numpy as np
import bokeh.plotting as bp
from bokeh.objects 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')
s2.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
bp.show()
Vấn đề là công cụ di chuột chỉ hoạt động cho đường cong cosin nhưng không cho sin.
Tôi biết rằng một lựa chọn sẽ được vẽ cả loạt togehter và thay đổi màu sắc của các điểm dữ liệu cosin:
import numpy as np
import bokeh.plotting as bp
from bokeh.objects 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)
x = np.array([x,x]).flatten()
y = np.array([y1,y2]).flatten()
blue = np.array('#0000ff').flatten()
red = np.array('#ff0000').flatten()
colors = np.array([blue.repeat(len(y1)),red.repeat(len(y1))]).flatten()
s1 = fig.scatter(x=x,y=y,color=colors,size=10,legend='sine & cosine')
s1.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
bp.show()
Nhưng sau đó tôi mất mục chú giải cho màu sắc thứ hai.
Làm cách nào để quản lý để có thể di chuột qua cả hai tập dữ liệu và xem chú giải công cụ tương ứng?
Cảm ơn!
Tối đa
Cảm ơn rất nhiều! Làm việc như một say mê! – Max
Tôi nhận được lỗi này: AttributeError: đối tượng 'generator' không có thuộc tính 'tooltips'. Tôi đã cập nhật bokeh của mình bằng lệnh này: pip install --pre -i https://pypi.anaconda.org/bokeh/channel/dev/simple bokeh --extra-index-url https://pypi.python.org/ đơn giản/ –
Vấn đề tương tự như Hamid trên 0.10 – dranxo