From 1ff5dde5b037f8da4c9d5a65e2d7ad2f6715ff60 Mon Sep 17 00:00:00 2001 From: Scott Gasch Date: Fri, 11 Feb 2022 11:40:38 -0800 Subject: Add mode. --- histogram.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'histogram.py') diff --git a/histogram.py b/histogram.py index dd47319..3796470 100644 --- a/histogram.py +++ b/histogram.py @@ -122,9 +122,11 @@ class SimpleHistogram(Generic[T]): ) if len(sigma_label) > details.max_label_width: details.max_label_width = len(sigma_label) - bar_width = width - (details.max_label_width + 16) + bar_width = width - (details.max_label_width + 17) for (start, end), pop in sorted(self.buckets.items(), key=lambda x: x[0]): + if start < details.lowest_start: + continue label = f'[{label_formatter}..{label_formatter}): ' % (start, end) bar = bar_graph( (pop / details.max_population), @@ -141,12 +143,14 @@ class SimpleHistogram(Generic[T]): txt += '-' * width + '\n' txt += sigma_label.rjust(details.max_label_width) txt += ' ' * (bar_width - 2) - txt += f'Σ=(100.00% n={self.count})\n' + txt += f' pop(Σn)={self.count}\n' txt += ' ' * (bar_width + details.max_label_width - 2) - txt += f'mean(μ)={self.stats.get_mean():.3f}\n' + txt += f' mean(x̄)={self.stats.get_mean():.3f}\n' txt += ' ' * (bar_width + details.max_label_width - 2) - txt += f'p50(η)={self.stats.get_median():.3f}\n' + txt += f' median(p50)={self.stats.get_median():.3f}\n' txt += ' ' * (bar_width + details.max_label_width - 2) - txt += f'stdev(σ)={self.stats.get_stdev():.3f}\n' + txt += f' mode(Mo)={self.stats.get_mode()[0]:.3f}\n' + txt += ' ' * (bar_width + details.max_label_width - 2) + txt += f' stdev(σ)={self.stats.get_stdev():.3f}\n' txt += '\n' return txt -- cgit v1.3