Hi @adam2393,
I think you mainly face two problems at the moment:
Change data dynamcially
In [ENH] Draft GUI for labeling components by adam2392 · Pull Request #66 · mne-tools/mne-icalabel · GitHub, we are able to embed the time-series trace, but it only works on the first time-series plotted. Afterwards, when we select other ICA components, the plots begin plotting in new windows.
Yes, this is unfortunately the expected behavoir right now. Currently there are no methods for MNEQtBrowser to receive raw/ica etc. data on it’s own and change it dynamically for an existing instance of MNEQtBrowser. So currently the only way to plot new data (without hacking into the private methods of the Plot) is by initializing a new instance of MNEQtBrowser. This is partly due to the effort during development to keep initialization of MNEQtBrowser as similar as possible to the matplotlib-pendant MNEBrowseFigure.
I think with some (mainly refactoring)-effort it is possible to add methods like for example:
MNEQtBrowser().replace_raw()MNEQtBrowser().replace_ica()
That could maybe even be done to BrowserBase on mne-side, to make this feature also available to the matplotlib-backend.
Detach Plot from MNEQtBrowser-Layout
It is currently probably not straightforward to extract the Plot from all the GUI-elements around it, because it is integrated into MNEQtBrowser as a subclass of QMainWindow. I tried showing just the BrowserView which is the plot taking an instance of MNEQtBrowser, but I found no quick work around. So here we would need to detach the BrowserView that it could be shown as itself without MNEQtBrowser.