It looks to take ~4.6s to plot a blank 2x2 grid of plots after pressing apply. Want to try and get that down, and then deal with delays with plotting data on top of it.
It looks like findChild is called a lot and uses a significant amount of times. Also, try and do everything to set up the plot, and then only draw it once, instead of after changing each option.
It might be that in Figure.refreshPlots, it creates new matplotlib axes for each Plot every time the figure is refreshed. This might be a big slowdown that can be removed, but I'm not sure yet. Need to test.
It looks to take ~4.6s to plot a blank 2x2 grid of plots after pressing apply. Want to try and get that down, and then deal with delays with plotting data on top of it.
It looks like findChild is called a lot and uses a significant amount of times. Also, try and do everything to set up the plot, and then only draw it once, instead of after changing each option.