holoviz-topics / neuro

HoloViz+Bokeh for Neuroscience
BSD 3-Clause "New" or "Revised" License
18 stars 5 forks source link

GOAL: Minimap/RangeTool #36

Closed droumis closed 8 months ago

droumis commented 1 year ago

Summary and Links

Relevant Workflows

Inspiration:

Requirements

droumis commented 1 year ago

Continuing the conversation here that started in the Scale Bar issue, but is more about minimap.

We probably don't want one minimap per subplot (separate canvases), right?

Good point; definitely want one minimap. But I'm not sure I follow your concerns about the x_range above; seems like a minimap's selected range can be respected by multiple plots or by a single plot about equally easily. In the other direction, updating the xrange on one of the plots should then update the xrange of the minimap and of the other plot, which again seems doable. But I could easily be missing something.

I get that you can use the implicit axes linking in HoloViews to link the x-axes of two plots, one of which is linked to the RangeTooLink, but I don't understand how to do that strictly with the RangeToolLink since you need to define a single input source plot. Regardless, the bigger issue is how we would handle multiple plots with different y-axes using a single minimap, for which I still don't see a reasonable way forward. It seems like the options are either one minimap per data type plot (so multiple plots), or one minimap and one combined/grouped data type plot (as MNE does it).

Just for fun, as shown in the video below, I created two minimaps, one to control the EEG and one for MEG channels. Although there is some pretty quirky behavior (e.g. the RangeTool overlays are linked in the y direction even though shared_axes = False and the kdim names are different) I'm actually not entirely against having multiple minimaps (one per data type plot). Thoughts @jbednar, @philippjfr? This would certainly simplify scale bar and stacked y implementations by avoiding data type grouping on a single plot, right?

https://github.com/holoviz-topics/neuro/assets/6613202/4926479a-ebde-414a-88c0-09e92f689f0d