在堆叠的条形图中包括Bokeh工具提示

时间:2019-03-18 03:24:25

标签: python bokeh

我有下面的代码。任何人都可以让我知道如何在下面添加条形图的工具提示。

from bokeh.core.properties import value
from bokeh.io import show, output_file
from bokeh.plotting import figure

output_file("stacked.html")

fruits = ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries']
years = ["2015", "2016", "2017"]
colors = ["#c9d9d3", "#718dbf", "#e84d60"]

data = {'fruits' : fruits,
        '2015'   : [2, 1, 4, 3, 2, 4],
        '2016'   : [5, 3, 4, 2, 4, 6],
        '2017'   : [3, 2, 4, 4, 5, 3]}

p = figure(x_range=fruits, plot_height=250, title="Fruit Counts by Year",
           toolbar_location=None, tools="")

p.vbar_stack(years, x='fruits', width=0.9, color=colors, source=data,
             legend=[value(x) for x in years])

p.y_range.start = 0
p.x_range.range_padding = 0.1
p.xgrid.grid_line_color = None
p.axis.minor_tick_line_color = None
p.outline_line_color = None
p.legend.location = "top_left"
p.legend.orientation = "horizontal"

show(p)

谢谢

迈克尔

2 个答案:

答案 0 :(得分:2)

您可以通过在列表中使用工具指定“悬停”并向其添加工具提示来添加悬停工具。您有两种工具提示; “ @”显示源数据和$,它们对应于绘图固有的值,例如数据或屏幕空间中鼠标的坐标。悬停工具非常适合与ColumnDataSource结合使用,因此也请看一下。可以在here上找到有关悬停工具的更多信息。

可以通过更改以下行来将悬停工具添加到绘图中:

print((2.4).roundedHalfDown()) // 2.0
print((2.5).roundedHalfDown()) // 2.0
print((2.6).roundedHalfDown()) // 3.0

print((-2.4).roundedHalfDown()) // -2.0
print((-2.5).roundedHalfDown()) // -2.0
print((-2.6).roundedHalfDown()) // -3.0

答案 1 :(得分:1)

您希望工具提示按年份指示值:

tooltips = [
    ("fruit", "@fruits"),
    ("2015:", "@2015"),
    ("2016:", "@2016"),
    ("2017:", "@2017"),
]

p = figure(x_range=fruits, plot_height=300, title="Fruit Counts by Year",
           tooltips=tooltips,
           toolbar_location="right", tools="")

输出:

enter image description here