From a0bca78d5df3c1dc4fabc24203ca895a6e3b6e15 Mon Sep 17 00:00:00 2001 From: Pim Nelissen Date: Wed, 6 May 2026 00:38:17 +0200 Subject: [PATCH] add uncertainty bands in plot for sqrt(N) counting statistics --- src/pg_rad/plotting/result_plotter.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/pg_rad/plotting/result_plotter.py b/src/pg_rad/plotting/result_plotter.py index 5a76e42..d1f2f7a 100644 --- a/src/pg_rad/plotting/result_plotter.py +++ b/src/pg_rad/plotting/result_plotter.py @@ -98,13 +98,26 @@ class ResultPlotter: def _draw_counts(self, ax): x = self.count_rate_res.distance[1:] y = self.count_rate_res.integrated_counts[1:] + + yerr = np.sqrt(y) + peak_idx = y.argmax() + + ax.fill_between( + x, + y - yerr, + y + yerr, + color='red', + alpha=0.15, + ) + ax.plot( - x, y, color='r', linestyle='--', - alpha=0.2, label=f'max(counts) = {y.max():.2f}' + x, y, + color='r', linestyle='--', alpha=0.2, + label=rf'max(counts)={y[peak_idx]:.2f} $\pm$ {yerr[peak_idx]:.2f}' ) ax.legend(handlelength=0, handletextpad=0, fancybox=True) ax.scatter(x, y, color='r', marker='x') - ax.set_title('Integrated counts') + ax.set_title('Counts') ax.set_xlabel('Arc length s [m]') ax.set_ylabel('N')