From f72e854d234d10ad95f89a8b1ead0c8e0dce9a02 Mon Sep 17 00:00:00 2001 From: Mike Sullivan Date: Thu, 6 Aug 2026 17:12:36 +0100 Subject: [PATCH 1/2] Added x-axis, y-axis, error bards, grad, and legend options --- rascal2/widgets/plot.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/rascal2/widgets/plot.py b/rascal2/widgets/plot.py index 555d6f57..7988fe55 100644 --- a/rascal2/widgets/plot.py +++ b/rascal2/widgets/plot.py @@ -591,6 +591,29 @@ def make_control_layout(self): control_layout.addWidget(QtWidgets.QLabel("Confidence Interval")) control_layout.addWidget(self.ci_param_box) + self.x_axis = QtWidgets.QComboBox() + self.x_axis.addItems(["Log", "Linear"]) + self.x_axis.currentTextChanged.connect(lambda: self.draw_plot()) + self.y_axis = QtWidgets.QComboBox() + self.y_axis.addItems(["Ref", "Q^4"]) + self.y_axis.currentTextChanged.connect(lambda: self.draw_plot()) + self.show_error_bar = QtWidgets.QCheckBox("Show Error Bars") + self.show_error_bar.setChecked(True) + self.show_error_bar.checkStateChanged.connect(lambda: self.draw_plot()) + self.show_grid = QtWidgets.QCheckBox("Show Grid") + self.show_grid.checkStateChanged.connect(lambda: self.draw_plot()) + self.show_legend = QtWidgets.QCheckBox("Show Legend") + self.show_legend.setChecked(True) + self.show_legend.checkStateChanged.connect(lambda: self.draw_plot()) + + control_layout.addWidget(QtWidgets.QLabel("X-Axis")) + control_layout.addWidget(self.x_axis) + control_layout.addWidget(QtWidgets.QLabel("Y-Axis")) + control_layout.addWidget(self.y_axis) + control_layout.addWidget(self.show_error_bar) + control_layout.addWidget(self.show_grid) + control_layout.addWidget(self.show_legend) + return control_layout def plot(self, project, results: ratapi.outputs.BayesResults): @@ -604,11 +627,17 @@ def draw_plot(self): """Plot the shaded reflectivity and SLD profiles.""" self.clear() + show_legend = self.show_legend.isChecked() ratapi.plotting.plot_ref_sld( self.project, self.results, bayes=int(self.ci_param_box.currentText().strip("%")), fig=self.figure, + linear_x=self.x_axis.currentText() == "Linear", + q4=self.y_axis.currentText() == "Q^4", + show_error_bar=self.show_error_bar.isChecked(), + show_grid=self.show_grid.isChecked(), + show_legend=show_legend, ) self.canvas.draw() From 3e1234a4e152c107206a5ef753bef3b9a0b9e3de Mon Sep 17 00:00:00 2001 From: Mike Sullivan Date: Thu, 6 Aug 2026 17:29:07 +0100 Subject: [PATCH 2/2] Added slider option for Bayes plots --- rascal2/widgets/plot.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rascal2/widgets/plot.py b/rascal2/widgets/plot.py index 7988fe55..b6c6296f 100644 --- a/rascal2/widgets/plot.py +++ b/rascal2/widgets/plot.py @@ -616,6 +616,17 @@ def make_control_layout(self): return control_layout + def make_toolbar_widget(self): + self.slider = QtWidgets.QSlider(QtCore.Qt.Orientation.Vertical) + self.slider.setTracking(False) + self.slider.setInvertedAppearance(True) + self.slider.setMinimum(0) + self.slider.setMaximum(100) + self.slider.setValue(0) + self.slider.valueChanged.connect(lambda: self.draw_plot()) + + return self.slider + def plot(self, project, results: ratapi.outputs.BayesResults): """Plot the shaded plot.""" self.project = project @@ -638,6 +649,7 @@ def draw_plot(self): show_error_bar=self.show_error_bar.isChecked(), show_grid=self.show_grid.isChecked(), show_legend=show_legend, + shift_value=self.slider.value(), ) self.canvas.draw()