I’m creating a server app where I have multiple tabs with different statistical analyses. Each tab has a Panel(child=layout), where layout contains the layout elements of that given panel.
At the initial load of the app, only the first Panel of the app is processed, and the rest are simply instantiated with placeholders, e.g. row(column(button1,button2),plot)
As new tabs are activated, I then do a callback where I update the data of the new panel being loaded using e.g.
TabWidget.tabs[ panel_index ].child.children = newPlot
That works somewhat when updating single plots; I can change between tabs, and the figures will update as intended.
However, if I try to update two plots, e.g. run
TabWidget.tabs[ panel_index ].child.children = newPlot1
TabWidget.tabs[ panel_index ].child.children = newPlot2
Then I get a RuntimeError(‘cannot apply patch to XXXXXXX which is not in the document’)
Pre-loading all the plots and updating datasources is sadly not an option for what I wish to do - at times I want to change the plot type etc. I guess I’m approaching this wrongly? I’ve noted that everytime I call an update of one plot, all other plots (in the current and other tabs) are corrupted.