I’m trying to develop a way to look at large spectral data, mixing both the raw spectral data (using datashader interactive image as the raw data is >8 million points), and simpler scatter plots to represent the data in another form.
For example, looking at mass spectral data. I have peak picked the data, and represent the picked peaks in a second type of plot (which I can do fine in Bokeh normally).
I want to overlay a scatter plot (~1000s of points) on top of the raw data (millions of points, line plot) and have them show together in such a way I can zoom into the interactive image, highlight the scatter points, and see them selected in the other plots.
I can do this fine if I just plot a line plot of the peak picked data, but obviously this isn’t the raw data.
I can get datashader to produce an interactive image of the raw data fine, but the documentation is a bit lacking for the InteractiveImage() function.
The basic datashader code is adapted from the Trajectory example https://anaconda.org/jbednar/trajectory/notebook
The final part is this:
p = base_plot()
InteractiveImage(p, create_image, throttle=200)
The bokeh code is just a couple of simple scatter or line plots, essentially this:
p1 = figure() #removed arguments for simplicity
p1.scatter() #removed arguments for simplicity
show(p1) # open a browser
Does this make sense?
Basically, is there a way to have the “interactive image” combined with other plots? Am I missing something obvious?
(For now I’m doing this in jupyter but I would like to get it working with bokeh serve eventually, though that is also proving tricky to get datashader to play ball with…)