如何让y轴与Bokeh和Hovertool互动?

时间:2018-04-05 17:57:39

标签: python graph bokeh interactive

我试图让我的HoverTool显示y轴上条形的值。它显示???相反,这很奇怪。此外,如果有人知道如何,有没有办法让y轴与科学符号不一致?

这是代码:

#RQ Do people who are scared about a loss of privacy own less devices than those who are not?
output_notebook()

categories = ['The Loss of Privacy', "We'll all lose touch with one another", "We'll all be less safe", "I have no fears about a more connected future", "Other"]

#Interactivity
hover = HoverTool(tooltips=[
    ("Biggest Fear", "@x"),
    ("Number of Devices Owned", "@y"),
])

p = figure(x_range = categories, plot_height = 250, plot_width = 1000, title = "Total Devices Owned", tools = [hover])
p.vbar(x = categories, top = [268252,133344,86014,44688,47270], width = 0.5)

p.xgrid.grid_line_color = None
p.y_range.start = 0
p.y_range.end = 300000

p.xaxis.axis_label = "What is your biggest fear as we move towards a more connected future?"
p.yaxis.axis_label = "Amount of Devices Owned"

show(p)

图表: Graph

1 个答案:

答案 0 :(得分:0)

您的代码需要进行两项更改。首先,要显示HoverTool上的值,请替换" @ y" by" @ top"。其次,在"数字"之后添加这一行。得出科学记数法:p.left [0] .formatter.use_scientific = False

#RQ Do people who are scared about a loss of privacy own less devices than those who are not?
output_notebook()

categories = ['The Loss of Privacy', "We'll all lose touch with one another", "We'll all be less safe", "I have no fears about a more connected future", "Other"]

#Interactivity
hover = HoverTool(tooltips=[
    ("Biggest Fear", "@x"),
    ("Number of Devices Owned", "@top"),
])

p = figure(x_range = categories, plot_height = 250, plot_width = 1000, title = "Total Devices Owned", tools = [hover])
p.left[0].formatter.use_scientific = False ## This line is to get out scientific notation
p.vbar(x = categories, top = [268252,133344,86014,44688,47270], width = 0.5)

p.xgrid.grid_line_color = None
p.y_range.start = 0
p.y_range.end = 300000

p.xaxis.axis_label = "What is your biggest fear as we move towards a more connected future?"
p.yaxis.axis_label = "Amount of Devices Owned"

show(p)