diff options
Diffstat (limited to 'src/silx/gui/plot/_utils/__init__.py')
-rw-r--r-- | src/silx/gui/plot/_utils/__init__.py | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/silx/gui/plot/_utils/__init__.py b/src/silx/gui/plot/_utils/__init__.py index ed87b18..3075007 100644 --- a/src/silx/gui/plot/_utils/__init__.py +++ b/src/silx/gui/plot/_utils/__init__.py @@ -1,7 +1,6 @@ -# coding: utf-8 # /*########################################################################## # -# Copyright (c) 2004-2021 European Synchrotron Radiation Facility +# Copyright (c) 2004-2023 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -32,11 +31,12 @@ __date__ = "21/03/2017" import numpy from .panzoom import FLOAT32_SAFE_MIN, FLOAT32_MINPOS, FLOAT32_SAFE_MAX -from .panzoom import applyZoomToPlot, applyPan, checkAxisLimits +from .panzoom import applyZoomToPlot, applyPan, checkAxisLimits, EnabledAxes -def addMarginsToLimits(margins, isXLog, isYLog, - xMin, xMax, yMin, yMax, y2Min=None, y2Max=None): +def addMarginsToLimits( + margins, isXLog, isYLog, xMin, xMax, yMin, yMax, y2Min=None, y2Max=None +): """Returns updated limits by extending them with margins. :param margins: The ratio of the margins to add or None for no margins. @@ -56,35 +56,35 @@ def addMarginsToLimits(margins, isXLog, isYLog, xMin -= xMinMargin * xRange xMax += xMaxMargin * xRange - elif xMin > 0. and xMax > 0.: # Log scale + elif xMin > 0.0 and xMax > 0.0: # Log scale # Do not apply margins if limits < 0 xMinLog, xMaxLog = numpy.log10(xMin), numpy.log10(xMax) xRangeLog = xMaxLog - xMinLog - xMin = pow(10., xMinLog - xMinMargin * xRangeLog) - xMax = pow(10., xMaxLog + xMaxMargin * xRangeLog) + xMin = pow(10.0, xMinLog - xMinMargin * xRangeLog) + xMax = pow(10.0, xMaxLog + xMaxMargin * xRangeLog) if not isYLog: yRange = yMax - yMin yMin -= yMinMargin * yRange yMax += yMaxMargin * yRange - elif yMin > 0. and yMax > 0.: # Log scale + elif yMin > 0.0 and yMax > 0.0: # Log scale # Do not apply margins if limits < 0 yMinLog, yMaxLog = numpy.log10(yMin), numpy.log10(yMax) yRangeLog = yMaxLog - yMinLog - yMin = pow(10., yMinLog - yMinMargin * yRangeLog) - yMax = pow(10., yMaxLog + yMaxMargin * yRangeLog) + yMin = pow(10.0, yMinLog - yMinMargin * yRangeLog) + yMax = pow(10.0, yMaxLog + yMaxMargin * yRangeLog) if y2Min is not None and y2Max is not None: if not isYLog: yRange = y2Max - y2Min y2Min -= yMinMargin * yRange y2Max += yMaxMargin * yRange - elif y2Min > 0. and y2Max > 0.: # Log scale + elif y2Min > 0.0 and y2Max > 0.0: # Log scale # Do not apply margins if limits < 0 yMinLog, yMaxLog = numpy.log10(y2Min), numpy.log10(y2Max) yRangeLog = yMaxLog - yMinLog - y2Min = pow(10., yMinLog - yMinMargin * yRangeLog) - y2Max = pow(10., yMaxLog + yMaxMargin * yRangeLog) + y2Min = pow(10.0, yMinLog - yMinMargin * yRangeLog) + y2Max = pow(10.0, yMaxLog + yMaxMargin * yRangeLog) if y2Min is None or y2Max is None: return xMin, xMax, yMin, yMax |