2015-03-11 18 views
16

Tôi có biểu đồ đơn giản về các điểm dữ liệu X-Y. Tôi muốn con số Bokeh của tôi hiển thị cho tôi giá trị số nguyên của mỗi điểm dữ liệu khi tôi di chuột qua nó. Tôi gần đạt được những gì tôi muốn nhưng khi tôi di chuột qua điểm dữ liệu, nó cho thấy một phao và sau đó cao hơn, nó sử dụng ký pháp khoa học. Có cách nào để có công cụ di chuột chỉ trả về các giá trị số nguyên của X và Y và không sử dụng ký pháp khoa học?cách hiển thị số nguyên, không nổi, với chú giải công cụ di chuột trong bokeh

Dưới đây là một số mã ví dụ:

from bokeh.plotting import * 
from bokeh.models import HoverTool 

x = range(1,101) 
y = [i*i for i in x] 

TOOLS = "pan,wheel_zoom,box_zoom,reset,save,box_select, hover" 

p = figure(x_axis_label = "Days", 
     y_axis_label = "Return", 
     tools=TOOLS) 
p.circle(x, y) 

#adjust what information you get when you hover over it 
hover = p.select(dict(type=HoverTool)) 
hover.tooltips = [ 
    ("Days", "$x"), 
    ("Return", "$y"), 
] 

show(VBox(p)) 

Trả lời

9

Aha! Sử dụng @ thay vì $ làm việc.

hover.tooltips = [ 
    ("Days", "@x"), 
    ("Return", "@y"), 
] 
+0

Cảm ơn bạn đã chia sẻ thông tin này, tôi đã gặp vấn đề tương tự –

+0

yep '$ x' là điểm dữ liệu canvas dựng sẵn của con trỏ chuột,' @ x' là điểm dữ liệu thực tế cho dù bạn di chuột qua hình tượng. – jxramos

27

Thêm hai xu của tôi. Tôi đã tìm ra bởi bạn có thể kiểm soát số thập phân bằng cách sử dụng mã sau:

hover.tooltips = [ 
    ("Days", "@x{int}"), # this will show integer, even if x is float 
    ("Return", "@y{1.11}"), # this will format as 2-decimal float 
] 

Hy vọng điều này sẽ hữu ích.

+2

Sẽ, tò mò nếu bạn biết làm thế nào để quy mô y và sau đó định dạng nó. ví dụ: giả sử bạn muốn nhân y với 100 và báo cáo dưới dạng phần trăm. bất kỳ suy nghĩ về cách xác định điều đó? – Chris

+0

Điều này thật tuyệt. Bạn có biết nếu có ký hiệu cho các ngày định dạng như thế này không? Tôi không tìm được tài liệu này trong tài liệu; bạn có tình cờ có một liên kết mà nó nằm ở đâu không? Cảm ơn! – ryanjdillon

+0

@Chris xin lỗi không biết cờ để định dạng phần trăm. Tôi cho rằng bạn đã thử cờ định dạng của Python? Điều tôi muốn làm là tạo một cột khác trong nguồn dữ liệu của bạn và thay vào đó, không hoàn hảo nhưng có thể đưa bạn đến đó. – WillZ

Các vấn đề liên quan