From 914612f335af912c24405372380e29f4236d6546 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sun, 31 Mar 2024 20:36:52 -0400 Subject: [PATCH] Override data_range in time_series to allow scale_?_integers to work. Closes #30. --- newsfragments/30.bugfix.rst | 1 + svg/charts/plot.py | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 newsfragments/30.bugfix.rst diff --git a/newsfragments/30.bugfix.rst b/newsfragments/30.bugfix.rst new file mode 100644 index 0000000..93b4557 --- /dev/null +++ b/newsfragments/30.bugfix.rst @@ -0,0 +1 @@ +Override data_range in time_series to allow scale_?_integers to work. diff --git a/svg/charts/plot.py b/svg/charts/plot.py index 7a2af8a..d3822ca 100644 --- a/svg/charts/plot.py +++ b/svg/charts/plot.py @@ -2,6 +2,7 @@ import functools import itertools +import math from lxml import etree import more_itertools @@ -226,6 +227,10 @@ def data_min(self, axis): def data_range(self, axis): min_value = self.data_min(axis) max_value = self.data_max(axis) + if getattr(self, 'scale_%s_integers' % axis): + min_value = math.floor(min_value) + max_value = math.ceil(max_value) + range = max_value - min_value side_pad = range / 20.0 or 10