☰Read-only archive⌕
Looking for help with Bokeh?

This is a read-only archive. Ask questions and join the conversation on GitHub.

Visit Community Support on GitHub →
Archived discussions · Captured October 28, 2026

Multiple vbar's hover alpha change only updated when hitting last vbar

Community Support
Jonas_Grave_Kristens
Jonas_Grave_Kristens

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)

⌁   Link to post

End of archived discussion · Replies are disabled