From 2ccb674ea91a63582117be8c914478de3dfdf604 Mon Sep 17 00:00:00 2001 From: Chris Burr Date: Wed, 10 Mar 2021 12:22:31 +0100 Subject: [PATCH 1/2] Re-add comma separators to PrettyScalarFormatter --- .../Core/Utilities/Graphs/GraphUtilities.py | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/DIRAC/Core/Utilities/Graphs/GraphUtilities.py b/src/DIRAC/Core/Utilities/Graphs/GraphUtilities.py index ad2a2e2a205..4e7598dec23 100644 --- a/src/DIRAC/Core/Utilities/Graphs/GraphUtilities.py +++ b/src/DIRAC/Core/Utilities/Graphs/GraphUtilities.py @@ -209,28 +209,17 @@ def comma_format(x_orig): class PrettyScalarFormatter(ScalarFormatter): + def __init__(self, *args, **kwargs): + super(PrettyScalarFormatter, self).__init__(*args, **kwargs) + self.set_powerlimits([-7, 9]) + self._useLocale = True - def _set_orderOfMagnitude(self, range): - # if scientific notation is to be used, find the appropriate exponent - # if using an numerical offset, find the exponent after applying the offset - locs = numpy.absolute(self.locs) + def __call__(self, x, pos=None): + val = super(PrettyScalarFormatter, self).__call__(x, pos=pos) if self.offset: - oom = math.floor(math.log10(range)) + return val else: - if locs[0] > locs[-1]: - val = locs[0] - else: - val = locs[-1] - if val == 0: - oom = 0 - else: - oom = math.floor(math.log10(val)) - if oom <= -7: - self.orderOfMagnitude = oom - elif oom >= 9: - self.orderOfMagnitude = oom - else: - self.orderOfMagnitude = 0 + return comma_format(val) class PrettyDateFormatter(AutoDateFormatter): From 698d7a3771de994c9a90f324c22b2a046c6f5c2e Mon Sep 17 00:00:00 2001 From: Chris Burr Date: Fri, 23 Apr 2021 10:17:04 +0200 Subject: [PATCH 2/2] Fix parsing negative numbers --- .../Core/Utilities/Graphs/GraphUtilities.py | 4 ++++ ...ntMonitoringPlotter_plotPendingQueries.png | Bin 43451 -> 43512 bytes 2 files changed, 4 insertions(+) diff --git a/src/DIRAC/Core/Utilities/Graphs/GraphUtilities.py b/src/DIRAC/Core/Utilities/Graphs/GraphUtilities.py index 4e7598dec23..851d609d1e0 100644 --- a/src/DIRAC/Core/Utilities/Graphs/GraphUtilities.py +++ b/src/DIRAC/Core/Utilities/Graphs/GraphUtilities.py @@ -20,11 +20,15 @@ import pytz import numpy +from matplotlib.pyplot import rcParams from matplotlib.ticker import ScalarFormatter from matplotlib.dates import AutoDateLocator, AutoDateFormatter, DateFormatter, RRuleLocator, \ rrulewrapper, HOURLY, MINUTELY, SECONDLY, YEARLY, MONTHLY, DAILY from dateutil.relativedelta import relativedelta +# This is a hack to workaround the use of float(ScalarFormatter.__call__(...)) +rcParams["axes.unicode_minus"] = False + def evalPrefs(*args, **kw): """ Interpret arguments as preferencies dictionaries or key-value pairs. The overriding order diff --git a/tests/Integration/Monitoring/plots/ComponentMonitoringPlotter_plotPendingQueries.png b/tests/Integration/Monitoring/plots/ComponentMonitoringPlotter_plotPendingQueries.png index 2faee99868552c407d3a752f77588e166a59e80c..674e2d66c0900602aed5e264fb6a27aaebca413f 100644 GIT binary patch delta 25019 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 delta 24957 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 rPE5>Zmu;dlB68yY^2z`2C*So4)PLk{CXE*