From ed46a19e9b804a3484c5cad1a9ef9e3eb670c9e5 Mon Sep 17 00:00:00 2001 From: zachjweiner Date: Sat, 4 Nov 2023 11:46:04 -0700 Subject: [PATCH 1/2] add secondary axis support for Transform-type functions --- lib/matplotlib/axes/_secondary_axes.py | 5 +++++ .../test_axes/secondary_xy.png | Bin 48775 -> 52572 bytes lib/matplotlib/tests/test_axes.py | 15 +++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/lib/matplotlib/axes/_secondary_axes.py b/lib/matplotlib/axes/_secondary_axes.py index 4c757f61c7b6..bb0237ee5332 100644 --- a/lib/matplotlib/axes/_secondary_axes.py +++ b/lib/matplotlib/axes/_secondary_axes.py @@ -6,6 +6,7 @@ import matplotlib.ticker as mticker from matplotlib.axes._base import _AxesBase, _TransformedBoundsLocator from matplotlib.axis import Axis +from matplotlib.transforms import Transform class SecondaryAxis(_AxesBase): @@ -144,11 +145,15 @@ def set_functions(self, functions): If a transform is supplied, then the transform must have an inverse. """ + if (isinstance(functions, tuple) and len(functions) == 2 and callable(functions[0]) and callable(functions[1])): # make an arbitrary convert from a two-tuple of functions # forward and inverse. self._functions = functions + elif isinstance(functions, Transform): + self._functions = ( + functions.transform, functions.inverted().transform) elif functions is None: self._functions = (lambda x: x, lambda x: x) else: diff --git a/lib/matplotlib/tests/baseline_images/test_axes/secondary_xy.png b/lib/matplotlib/tests/baseline_images/test_axes/secondary_xy.png index bbf9f9e13211db95a236de3696bfd31d5aac2ac7..b69241a06bc68f3e03383825a45aca1a606b201a 100644 GIT binary patch literal 52572 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�e8YV$rt@f5{+oe7y+?0y5EL}q&G=~C6MCBahv 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 z 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 b7CtJ&Rm@Kjn_Dht;I($mdaG>9E&KlhWfvw; diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 799bf5ddd774..3ae1a9376ceb 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -7494,6 +7494,20 @@ def test_annotate_across_transforms(): arrowprops=dict(arrowstyle="->")) +class _Translation(mtransforms.Transform): + input_dims = 1 + output_dims = 1 + + def __init__(self, dx): + self.dx = dx + + def transform(self, values): + return values + self.dx + + def inverted(self): + return _Translation(-self.dx) + + @image_comparison(['secondary_xy.png'], style='mpl20') def test_secondary_xy(): fig, axs = plt.subplots(1, 2, figsize=(10, 5), constrained_layout=True) @@ -7513,6 +7527,7 @@ def invert(x): secax(0.4, functions=(lambda x: 2 * x, lambda x: x / 2)) secax(0.6, functions=(lambda x: x**2, lambda x: x**(1/2))) secax(0.8) + secax("top" if nn == 0 else "right", functions=_Translation(2)) def test_secondary_fail(): From 280340764ce97aa211b78a075def2a0b7cb9f33e Mon Sep 17 00:00:00 2001 From: zachjweiner Date: Tue, 12 Dec 2023 07:01:14 -0800 Subject: [PATCH 2/2] secondary axes: lazily invert forward transform --- lib/matplotlib/axes/_secondary_axes.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_secondary_axes.py b/lib/matplotlib/axes/_secondary_axes.py index bb0237ee5332..7ee3c8b13c07 100644 --- a/lib/matplotlib/axes/_secondary_axes.py +++ b/lib/matplotlib/axes/_secondary_axes.py @@ -153,7 +153,9 @@ def set_functions(self, functions): self._functions = functions elif isinstance(functions, Transform): self._functions = ( - functions.transform, functions.inverted().transform) + functions.transform, + lambda x: functions.inverted().transform(x) + ) elif functions is None: self._functions = (lambda x: x, lambda x: x) else: