From 10b0afb464331b413b66efa9aa7b1115bc3b4760725dc3e93dc9954d221cde05 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 19 Aug 2022 18:18:45 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-matplotlib?expand=0&rev=64 --- matplotlib-pr22975-fixarray.patch | 60 ------------------------------- 1 file changed, 60 deletions(-) delete mode 100644 matplotlib-pr22975-fixarray.patch diff --git a/matplotlib-pr22975-fixarray.patch b/matplotlib-pr22975-fixarray.patch deleted file mode 100644 index 45a0633..0000000 --- a/matplotlib-pr22975-fixarray.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 29ce2c226aafc170cb9b874e81b158c832322cf7 Mon Sep 17 00:00:00 2001 -From: Jody Klymak -Date: Thu, 5 May 2022 04:38:49 +0000 -Subject: [PATCH] FIX: fix check_1d to also check for ndim - -Arrays sometimes don't have all the methods arrays should have, so -add another check here. Plot requires both ndim and shape and this -will extract the numpy array if x does not have those attributes. -Otherwise leave the object alone, because unit support (currently only -in plot) requires the object to retain the unit info. ---- - lib/matplotlib/cbook/__init__.py | 7 ++++++- - lib/matplotlib/tests/test_units.py | 19 +++++++++++++++++++ - 2 files changed, 25 insertions(+), 1 deletion(-) - -diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py -index 774643fc9c99..5a955ed459c5 100644 ---- a/lib/matplotlib/cbook/__init__.py -+++ b/lib/matplotlib/cbook/__init__.py -@@ -1333,7 +1333,12 @@ def _check_1d(x): - """Convert scalars to 1D arrays; pass-through arrays as is.""" - # Unpack in case of e.g. Pandas or xarray object - x = _unpack_to_numpy(x) -- if not hasattr(x, 'shape') or len(x.shape) < 1: -+ # plot requires `shape` and `ndim`. If passed an -+ # object that doesn't provide them, then force to numpy array. -+ # Note this will strip unit information. -+ if (not hasattr(x, 'shape') or -+ not hasattr(x, 'ndim') or -+ len(x.shape) < 1): - return np.atleast_1d(x) - else: - return x -diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py -index 93a12cebb2c8..d3b8c5a71643 100644 ---- a/lib/matplotlib/tests/test_units.py -+++ b/lib/matplotlib/tests/test_units.py -@@ -264,3 +264,22 @@ def test_empty_default_limits(quantity_converter): - fig.draw_without_rendering() - assert ax.get_ylim() == (0, 100) - assert ax.get_xlim() == (28.5, 31.5) -+ -+ -+# test array-like objects... -+class Kernel: -+ def __init__(self, array): -+ self._array = np.asanyarray(array) -+ -+ def __array__(self): -+ return self._array -+ -+ @property -+ def shape(self): -+ return self._array.shape -+ -+ -+def test_plot_kernel(): -+ # just a smoketest that fail -+ kernel = Kernel([1, 2, 3, 4, 5]) -+ plt.plot(kernel)