The code is set up to make it easy to build and slot in new GUIs. MatPlotLib is, whilst functional, not a great platform for GUIs.
I would suggest redoing it in Plotly - it has the submodule Plotly Dash which is intended for building GUIs using the Plotly plots. As a more modern library, Plotly has a much better developer API and uses Grammar-of-Graphics style structure instead of MatPlotLib's horrible mishmash of legacy command-line and object oriented functionality where there are 7 different ways to do anything and they are all slightly different.
(I may have editorialised a bit much for an issue here)
The code is set up to make it easy to build and slot in new GUIs. MatPlotLib is, whilst functional, not a great platform for GUIs.
I would suggest redoing it in Plotly - it has the submodule Plotly Dash which is intended for building GUIs using the Plotly plots. As a more modern library, Plotly has a much better developer API and uses Grammar-of-Graphics style structure instead of MatPlotLib's horrible mishmash of legacy command-line and object oriented functionality where there are 7 different ways to do anything and they are all slightly different.
(I may have editorialised a bit much for an issue here)