Acoused: Close mpl figure at redraw.

dev
Pierre-Antoine 2025-05-06 15:33:04 +02:00
parent 252b09a333
commit e1cbe77ea7
4 changed files with 13 additions and 0 deletions

View File

@ -2502,6 +2502,7 @@ class AcousticDataTab(QWidget):
if self.fig_BS is not None: if self.fig_BS is not None:
self.fig_BS.clear() self.fig_BS.clear()
plt.close(self.fig_BS)
self.fig_BS, self.axis_BS = plt.subplots( self.fig_BS, self.axis_BS = plt.subplots(
nrows=stg.freq[file_id].shape[0], nrows=stg.freq[file_id].shape[0],
@ -2682,6 +2683,7 @@ class AcousticDataTab(QWidget):
# --- Figure to plot profiles --- # --- Figure to plot profiles ---
if self.fig_profile is not None: if self.fig_profile is not None:
self.fig_profile.clear() self.fig_profile.clear()
plt.close(self.fig_profile)
self.fig_profile, self.axis_profile = plt.subplots(nrows=1, ncols=1, layout="constrained") self.fig_profile, self.axis_profile = plt.subplots(nrows=1, ncols=1, layout="constrained")
self.canvas_plot_profile = FigureCanvas(self.fig_profile) self.canvas_plot_profile = FigureCanvas(self.fig_profile)

View File

@ -799,6 +799,7 @@ class SampleDataTab(QWidget):
if self.figure_plot_sample_position_on_transect is not None: if self.figure_plot_sample_position_on_transect is not None:
self.figure_plot_sample_position_on_transect.clear() self.figure_plot_sample_position_on_transect.clear()
plt.close(self.figure_plot_sample_position_on_transect)
fig, axis = plt.subplots(nrows=1, ncols=1, layout="constrained") fig, axis = plt.subplots(nrows=1, ncols=1, layout="constrained")
@ -1427,6 +1428,7 @@ class SampleDataTab(QWidget):
if self.figure_total_concentration is not None: if self.figure_total_concentration is not None:
self.figure_total_concentration.clear() self.figure_total_concentration.clear()
plt.close(self.figure_total_concentration)
self.figure_total_concentration, self.axis_total_concentration \ self.figure_total_concentration, self.axis_total_concentration \
= plt.subplots(nrows=1, ncols=1, layout="constrained") = plt.subplots(nrows=1, ncols=1, layout="constrained")
@ -1715,6 +1717,7 @@ class SampleDataTab(QWidget):
if self.figure_plot_PSD is not None: if self.figure_plot_PSD is not None:
self.figure_plot_PSD.clear() self.figure_plot_PSD.clear()
plt.close(self.figure_plot_PSD)
self.figure_plot_PSD, self.axis_plot_PSD \ self.figure_plot_PSD, self.axis_plot_PSD \
= plt.subplots(nrows=1, ncols=2, layout="constrained") = plt.subplots(nrows=1, ncols=2, layout="constrained")

View File

@ -1040,6 +1040,7 @@ class SedimentCalibrationTab(QWidget):
if self.fig_BS is not None: if self.fig_BS is not None:
self.fig_BS.clear() self.fig_BS.clear()
plt.close(self.fig_BS)
self.fig_BS, self.axis_BS = plt.subplots( self.fig_BS, self.axis_BS = plt.subplots(
nrows=1, ncols=1, sharex=True, sharey=False, nrows=1, ncols=1, sharex=True, sharey=False,
@ -1407,6 +1408,7 @@ class SedimentCalibrationTab(QWidget):
if self.fig_Mfine is not None: if self.fig_Mfine is not None:
self.fig_Mfine.clear() self.fig_Mfine.clear()
plt.close(self.fig_Mfine)
self.fig_Mfine, self.ax_Mfine = plt.subplots(1, 1, layout="constrained") self.fig_Mfine, self.ax_Mfine = plt.subplots(1, 1, layout="constrained")
self.canvas_Mfine = FigureCanvas(self.fig_Mfine) self.canvas_Mfine = FigureCanvas(self.fig_Mfine)
@ -2302,6 +2304,7 @@ class SedimentCalibrationTab(QWidget):
if self.fig_FCB is not None: if self.fig_FCB is not None:
self.fig_FCB.clear() self.fig_FCB.clear()
plt.close(self.fig_FCB)
self.fig_FCB, self.axis_FCB = plt.subplots( self.fig_FCB, self.axis_FCB = plt.subplots(
nrows=1, ncols=1, layout="constrained" nrows=1, ncols=1, layout="constrained"

View File

@ -864,6 +864,7 @@ class SignalProcessingTab(QWidget):
if self.fig_profile_tail is not None: if self.fig_profile_tail is not None:
self.fig_profile_tail.clear() self.fig_profile_tail.clear()
plt.close(self.fig_profile_tail)
self.fig_profile_tail, self.axis_profile_tail = \ self.fig_profile_tail, self.axis_profile_tail = \
plt.subplots(nrows=1, ncols=1, layout='constrained') plt.subplots(nrows=1, ncols=1, layout='constrained')
@ -1230,6 +1231,7 @@ class SignalProcessingTab(QWidget):
if self.fig_noise is not None: if self.fig_noise is not None:
self.fig_noise.clear() self.fig_noise.clear()
plt.close(self.fig_noise)
self.fig_noise, self.axis_noise = plt.subplots( self.fig_noise, self.axis_noise = plt.subplots(
nrows=1, ncols=1, layout="constrained" nrows=1, ncols=1, layout="constrained"
@ -1283,6 +1285,7 @@ class SignalProcessingTab(QWidget):
if self.fig_SNR is not None: if self.fig_SNR is not None:
self.fig_SNR.clear() self.fig_SNR.clear()
plt.close(self.fig_SNR)
self.fig_SNR, self.axis_SNR = plt.subplots( self.fig_SNR, self.axis_SNR = plt.subplots(
nrows=stg.freq[data_id].shape[0], ncols=1, nrows=stg.freq[data_id].shape[0], ncols=1,
@ -1466,6 +1469,7 @@ class SignalProcessingTab(QWidget):
if self.fig_BS is not None: if self.fig_BS is not None:
self.fig_BS.clear() self.fig_BS.clear()
plt.close(self.fig_BS)
self.fig_BS, self.axis_BS = plt.subplots( self.fig_BS, self.axis_BS = plt.subplots(
nrows=stg.freq[data_id].shape[0], ncols=1, nrows=stg.freq[data_id].shape[0], ncols=1,
@ -1700,6 +1704,7 @@ class SignalProcessingTab(QWidget):
if self.figure_profile is not None: if self.figure_profile is not None:
self.figure_profile.clear() self.figure_profile.clear()
plt.close(self.figure_profile)
self.figure_profile, self.axis_profile = plt.subplots( self.figure_profile, self.axis_profile = plt.subplots(
nrows=1, ncols=1, layout="constrained" nrows=1, ncols=1, layout="constrained"