Webgl breaking linked brushing

I have a dashboard with a large dataset and backend processing. I was hoping webgl would speed it up, but it causes a couple of issues - most notably it seems to break linked brushing.

Here is a minimal example, modifying an online solution:

from bokeh.io import output_file, show
from bokeh.layouts import gridplot
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure

output_file("brushing.html")

x = list(range(-20, 21))
x2 =list(range(-30, 10))
y0 = [abs(xx) for xx in x]
y1 = [xx**2 for xx in x2]

# create a column data source for the plots to share
source = ColumnDataSource(data=dict(x=x, x2=x2, y0=y0, y1=y1))

TOOLS = "box_select,lasso_select,help"

# create a new plot and add a renderer
left = figure(tools=TOOLS, width=300, height=300, title=None,output_backend="webgl" )
left.circle('x', 'y0', source=source)
left.line('x', 'y0', source=source)


p = gridplot([[left]])

show(p)

dropping the webgl backend will cause brushing to work properly again.

@meistermeister Probably just a bug, all I can suggest is that you file a GitHub Issue with full details.

There is at least one bug here, or to be more precise functionality that has never been implemented in the webgl output backend. A github issue would be really useful, with information on what occurs and what you are expecting to occur.

Alright, I’ll file the bug report then.

1 Like