diff --git a/app.py b/app.py
index 3170e6d..38ba1d2 100644
--- a/app.py
+++ b/app.py
@@ -203,7 +203,7 @@ class AppWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.check_advanced_peak_detection.isChecked()
)
# print(mem['fit_equations'])
- self.peak_fits_graph.plot()
+ self.peak_fit_viewer.plot()
self.graph_tabs.setCurrentIndex(4)
self.fit_button.pressed.connect(init_fit)
diff --git a/ui/mainwin.ui b/ui/mainwin.ui
index 410683d..a09ff75 100644
--- a/ui/mainwin.ui
+++ b/ui/mainwin.ui
@@ -7,7 +7,7 @@
0
0
1343
- 907
+ 746
@@ -40,8 +40,8 @@
0
0
- 278
- 846
+ 261
+ 812
@@ -794,7 +794,11 @@
-
-
+
+
+ -1
+
+
@@ -829,7 +833,7 @@
0
0
279
- 802
+ 641
@@ -1021,12 +1025,6 @@ p, li { white-space: pre-wrap; }
1
-
- FitsGraph
- QWidget
-
- 1
-
AddedPeaksGraph
QWidget
@@ -1039,6 +1037,12 @@ p, li { white-space: pre-wrap; }
1
+
+ FitsGraphViewer
+ QTabWidget
+
+ 1
+
diff --git a/widgets.py b/widgets.py
index 5491500..77fdf35 100644
--- a/widgets.py
+++ b/widgets.py
@@ -91,42 +91,73 @@ class AddedPeaksGraph(BaseGraph):
if not self.params['peak_width'] == None: # plot peak indices
for i in mem['peak_indices']:
self.canv.axes.axvspan(int(i-self.params['peak_width']/2+self.params['shift_over']), int(i+self.params['peak_width']/2+self.params['shift_over']), color='red', alpha=0.4)
-
-class FitsGraph(BaseGraph):
-
+
+class FitGraph(BaseGraph):
def __init__(self, x):
- super(FitsGraph, self).__init__(x)
+ super().__init__(x)
+
+ def set_peak_index(self, i):
+ self.peak_index = i
def plot_data(self):
-
for g_i in range(len(mem['isolated_peaks'])):
- for p_i in range(len(mem['isolated_peaks'][g_i])):
- peak = mem['isolated_peaks'][g_i][p_i]
- x_data = np.arange(len(peak))
- popt = mem['fit_equations'][g_i][p_i]['popt']
- self.canv.axes.plot(peak)
- self.canv.axes.plot(x_data, exp_func(x_data, *popt), color='red')
+ peak = mem['isolated_peaks'][g_i][self.peak_index]
+ x_data = np.arange(len(peak))
+ popt = mem['fit_equations'][g_i][self.peak_index]['popt']
+ self.canv.axes.plot(peak)
+ self.canv.axes.plot(x_data, exp_func(x_data, *popt), color='red')
+
+class FitsGraphViewer(QtWidgets.QTabWidget):
+ def __init__(self, x):
+ super(FitsGraphViewer, self).__init__(x)
+ layout = QtWidgets.QGridLayout()
+ self.setLayout(layout)
+
+ def plot(self): # Create tabs & plot ALL data (each individual graph)
+ self.clear()
+
+ for p_i in range(len(mem['isolated_peaks'][0])):
+ tab_name = str(p_i+1)
+ fit_graph = FitGraph(self)
+ fit_graph.set_peak_index(p_i)
+ self.addTab(fit_graph, tab_name)
+ fit_graph.plot()
+
+# class FitsGraph(BaseGraph):
- # def plot_data(self):
-
- # try:
- # self.canv.axes.remove()
- # except AttributeError:
- # pass
-
- # subplots_stacked = len(mem['isolated_peaks'][0]) # should all be same length
- # axes = self.canv.figure.subplots(subplots_stacked, 1, sharex=True)
+# def __init__(self, x):
+# super(FitsGraph, self).__init__(x)
- # for g_i in range(len(mem['isolated_peaks'])):
- # for p_i in range(subplots_stacked):
- # peak = mem['isolated_peaks'][g_i][p_i]
- # axes[p_i].plot(peak)
- # x_data = np.arange(len(peak))
- # popt = mem['fit_equations'][g_i][p_i]['popt']
- # axes[p_i].plot(x_data, exp_func(x_data, *popt), color='red')
+# # def plot_data(self):
+
+# # for g_i in range(len(mem['isolated_peaks'])):
+# # for p_i in range(len(mem['isolated_peaks'][g_i])):
+# # peak = mem['isolated_peaks'][g_i][p_i]
+# # x_data = np.arange(len(peak))
+# # popt = mem['fit_equations'][g_i][p_i]['popt']
+# # self.canv.axes.plot(peak)
+# # self.canv.axes.plot(x_data, exp_func(x_data, *popt), color='red')
+
+# def plot_data(self):
- # for ax in axs.flat:
- # ax.set(xlabel='x-label', ylabel='y-label')
+# try:
+# self.canv.axes.remove()
+# except AttributeError:
+# pass
+
+# subplots_stacked = len(mem['isolated_peaks'][0]) # should all be same length
+# axes = self.canv.figure.subplots(subplots_stacked, 1, sharex=True)
+
+# for g_i in range(len(mem['isolated_peaks'])):
+# for p_i in range(subplots_stacked):
+# peak = mem['isolated_peaks'][g_i][p_i]
+# axes[p_i].plot(peak)
+# # x_data = np.arange(len(peak))
+# # popt = mem['fit_equations'][g_i][p_i]['popt']
+# # axes[p_i].plot(x_data, exp_func(x_data, *popt), color='red')
+
+# # for ax in axs.flat:
+# # ax.set(xlabel='x-label', ylabel='y-label')
class TimeConstantGraph(BaseGraph):
pass
\ No newline at end of file