don't reformat all the lines on every re-draw
This commit is contained in:
parent
014c742e0a
commit
322b5ebc9b
|
@ -49,7 +49,9 @@ class PlotWidget(QWidget):
|
|||
self.fig = plt.Figure(figsize=(5, 4), dpi=100, tight_layout=True)
|
||||
self.ax = self.fig.add_subplot(111)
|
||||
self.set_plot_type(type_)
|
||||
self.lines = [self.ax.plot([np.nan], [np.nan], label="$S_{" + str(m) + str(n) + "}$") for m, n in self.traces]
|
||||
self.lines = [
|
||||
self.ax.plot([np.nan], [np.nan], label="$S_{" + str(m) + str(n) + "}$")[0] for m, n in self.traces
|
||||
]
|
||||
self.ax.legend(loc="upper right")
|
||||
|
||||
canvas = FigureCanvasQTAgg(self.fig)
|
||||
|
@ -97,14 +99,11 @@ class PlotWidget(QWidget):
|
|||
|
||||
def update_rect(self, data: xr.DataArray, func: Callable[[npt.ArrayLike], npt.ArrayLike]) -> None:
|
||||
self.ax.set_xlim(data["frequency"].min().data, data["frequency"].max().data)
|
||||
# remove old lines
|
||||
for line in self.ax.lines:
|
||||
line.remove()
|
||||
for ii, (m, n) in enumerate(self.traces):
|
||||
self.lines[ii] = self.ax.plot(data["frequency"], func(data.sel(m=m, n=n)))[0]
|
||||
self.lines[ii].set_xdata(data["frequency"])
|
||||
self.lines[ii].set_ydata(func(data.sel(m=m, n=n)))
|
||||
|
||||
self.fig.canvas.draw()
|
||||
self.fig.canvas.flush_events()
|
||||
|
||||
def setup_logmag(self, ylim: List[float] = [-30, 30]) -> None:
|
||||
self.setup_rect()
|
||||
|
@ -139,15 +138,12 @@ class PlotWidget(QWidget):
|
|||
rf_plt.smith(ax=self.ax, smithR=1, chart_type="z", draw_vswr=None)
|
||||
|
||||
def update_smith(self, data: xr.DataArray) -> None:
|
||||
# remove old lines
|
||||
for line in self.ax.lines:
|
||||
line.remove()
|
||||
for ii, (m, n) in enumerate(self.traces):
|
||||
sel = data.sel(m=m, n=n)
|
||||
self.lines[ii] = self.ax.plot(sel.real, sel.imag)[0]
|
||||
self.lines[ii].set_xdata(sel.real)
|
||||
self.lines[ii].set_ydata(sel.imag)
|
||||
|
||||
self.fig.canvas.draw()
|
||||
self.fig.canvas.flush_events()
|
||||
|
||||
|
||||
# Subclass QMainWindow to customize your application's main window
|
||||
|
|
Loading…
Reference in New Issue
Block a user