projects
/
python_utils.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9313acd
)
Make histogram auto-format labels.
author
Scott
<
[email protected]
>
Mon, 31 Jan 2022 17:55:30 +0000
(09:55 -0800)
committer
Scott
<
[email protected]
>
Mon, 31 Jan 2022 17:55:30 +0000
(09:55 -0800)
histogram.py
patch
|
blob
|
history
diff --git
a/histogram.py
b/histogram.py
index 7be643f3a038365f58c2522910a7d769ce398991..87ef77340fd036b8ea29d5ddf3def5d902db3688 100644
(file)
--- a/
histogram.py
+++ b/
histogram.py
@@
-67,7
+67,7
@@
class SimpleHistogram(Generic[T]):
all_true = all_true and self.add_item(item)
return all_true
all_true = all_true and self.add_item(item)
return all_true
- def __repr__(self,
width: int = 80, *, label_formatter: str = '%5s'
) -> str:
+ def __repr__(self,
*, width: int = 80, label_formatter: str = None
) -> str:
from text_utils import bar_graph
max_population: Optional[int] = None
from text_utils import bar_graph
max_population: Optional[int] = None
@@
-92,6
+92,13
@@
class SimpleHistogram(Generic[T]):
end = bucket[1]
if highest_end is None or end > highest_end:
highest_end = end
end = bucket[1]
if highest_end is None or end > highest_end:
highest_end = end
+ if label_formatter is None:
+ if type(start) == int and type(end) == int:
+ label_formatter = '%d'
+ elif type(start) == float and type(end) == float:
+ label_formatter = '%.2f'
+ else:
+ label_formatter = '%s'
label = f'[{label_formatter}..{label_formatter}): ' % (start, end)
label_width = len(label)
if max_label_width is None or label_width > max_label_width:
label = f'[{label_formatter}..{label_formatter}): ' % (start, end)
label_width = len(label)
if max_label_width is None or label_width > max_label_width: