Hi,
Trying to get change in fill alpha to work when plotting multiple vbar’s and using the hover. In the code below there are 3 vbar’s per category and the hover tool has been activated. For each vbar, hover_fill_color and hover_fill_alpha have been specified. However, when moving the hover across the bar’s the alpha is only changed when hitting the 2017 vbar, then all 3 vbar’s alpha is changed. Have I implemented the hover tool wrong?
Kind regards,
Jonas
···
from bokeh.core.properties import value
from bokeh.io import show, output_file
from bokeh.models import ColumnDataSource, HoverTool
from bokeh.plotting import figure
from bokeh.transform import dodge
output_file(“dodged_bars.html”)
fruits = [‘Apples’, ‘Pears’, ‘Nectarines’, ‘Plums’, ‘Grapes’, ‘Strawberries’]
years = [‘2015’, ‘2016’, ‘2017’]
data = {‘fruits’ : fruits,
‘2015’ : [2, 1, 4, 3, 2, 4],
‘2016’ : [5, 3, 3, 2, 4, 6],
‘2017’ : [3, 2, 4, 4, 5, 3]}
source = ColumnDataSource(data=data)
df = source.to_df()
p = figure(x_range=fruits, y_range=(0, 10), plot_height=250,
title=“Fruit Counts by Year”,
toolbar_location=None, tools="")
r_15=p.vbar(x=dodge(‘fruits’, -0.25, range=p.x_range), top=‘2015’,
width=0.2, source=source, color="#c9d9d3",
legend=value(“2015”), fill_alpha = 0.6, hover_alpha = 1,
hover_color = “#c9d9d3”)
r_16=p.vbar(x=dodge(‘fruits’, 0.0, range=p.x_range), top=‘2016’,
width=0.2, source=source, color="#718dbf",
legend=value(“2016”), fill_alpha = 0.6, hover_alpha = 1,
hover_color ="#718dbf")
r_17=p.vbar(x=dodge(‘fruits’, 0.25, range=p.x_range), top=‘2017’,
width=0.2, source=source, color="#e84d60",
legend=value(“2017”), fill_alpha = 0.6, hover_alpha = 1,
hover_color = “#e84d60”)
p.x_range.range_padding = 0.1
p.xgrid.grid_line_color = None
p.legend.location = “top_left”
p.legend.orientation = “horizontal”
p.add_tools(HoverTool(renderers = [r_15,r_16,r_17],tooltips= None))
show(p)