matplotlib2.2
authorDebian Science Team <debian-science-maintainers@lists.alioth.debian.org>
Tue, 24 Apr 2018 19:09:20 +0000 (20:09 +0100)
committerGraham Inggs <ginggs@debian.org>
Tue, 24 Apr 2018 19:09:20 +0000 (20:09 +0100)
Gbp-Pq: Name matplotlib2.2.patch

pandas/plotting/_compat.py
pandas/tests/plotting/common.py
pandas/tests/plotting/test_datetimelike.py

index d527bc08e2f080eab8de0cd745b946cbff225123..46ebd4217862dd7c59f0b664700617e71ce1a320 100644 (file)
@@ -1,75 +1,31 @@
 # being a bit too dynamic
 # pylint: disable=E1101
 from __future__ import division
+import operator
 
 from distutils.version import LooseVersion
 
 
-def _mpl_le_1_2_1():
-    try:
-        import matplotlib as mpl
-        return (str(mpl.__version__) <= LooseVersion('1.2.1') and
+def _mpl_version(version, op):
+    def inner():
+        try:
+            import matplotlib as mpl
+        except ImportError:
+            return False
+        return (op(LooseVersion(mpl.__version__), LooseVersion(version)) and
                 str(mpl.__version__)[0] != '0')
-    except ImportError:
-        return False
 
+    return inner
 
-def _mpl_ge_1_3_1():
-    try:
-        import matplotlib
-        # The or v[0] == '0' is because their versioneer is
-        # messed up on dev
-        return (matplotlib.__version__ >= LooseVersion('1.3.1') or
-                matplotlib.__version__[0] == '0')
-    except ImportError:
-        return False
 
-
-def _mpl_ge_1_4_0():
-    try:
-        import matplotlib
-        return (matplotlib.__version__ >= LooseVersion('1.4') or
-                matplotlib.__version__[0] == '0')
-    except ImportError:
-        return False
-
-
-def _mpl_ge_1_5_0():
-    try:
-        import matplotlib
-        return (matplotlib.__version__ >= LooseVersion('1.5') or
-                matplotlib.__version__[0] == '0')
-    except ImportError:
-        return False
-
-
-def _mpl_ge_2_0_0():
-    try:
-        import matplotlib
-        return matplotlib.__version__ >= LooseVersion('2.0')
-    except ImportError:
-        return False
-
-
-def _mpl_le_2_0_0():
-    try:
-        import matplotlib
-        return matplotlib.compare_versions('2.0.0', matplotlib.__version__)
-    except ImportError:
-        return False
-
-
-def _mpl_ge_2_0_1():
-    try:
-        import matplotlib
-        return matplotlib.__version__ >= LooseVersion('2.0.1')
-    except ImportError:
-        return False
-
-
-def _mpl_ge_2_1_0():
-    try:
-        import matplotlib
-        return matplotlib.__version__ >= LooseVersion('2.1')
-    except ImportError:
-        return False
+_mpl_ge_1_2_1 = _mpl_version('1.2.1', operator.ge)
+_mpl_le_1_2_1 = _mpl_version('1.2.1', operator.le)
+_mpl_ge_1_3_1 = _mpl_version('1.3.1', operator.ge)
+_mpl_ge_1_4_0 = _mpl_version('1.4.0', operator.ge)
+_mpl_ge_1_4_1 = _mpl_version('1.4.1', operator.ge)
+_mpl_ge_1_5_0 = _mpl_version('1.5.0', operator.ge)
+_mpl_ge_2_0_0 = _mpl_version('2.0.0', operator.ge)
+_mpl_le_2_0_0 = _mpl_version('2.0.0', operator.le)
+_mpl_ge_2_0_1 = _mpl_version('2.0.1', operator.ge)
+_mpl_ge_2_1_0 = _mpl_version('2.1.0', operator.ge)
+_mpl_ge_2_2_0 = _mpl_version('2.2.0', operator.ge)
index dfab539e9474c5a9a0da6f9924fa99bbd737bd25..6858840e36c4b518f8130201ec7a329ba82bb0a3 100644 (file)
@@ -56,6 +56,7 @@ class TestPlotBase(object):
         self.mpl_ge_1_5_0 = plotting._compat._mpl_ge_1_5_0()
         self.mpl_ge_2_0_0 = plotting._compat._mpl_ge_2_0_0()
         self.mpl_ge_2_0_1 = plotting._compat._mpl_ge_2_0_1()
+        self.mpl_ge_2_2_0 = plotting._compat._mpl_ge_2_2_0()
 
         if self.mpl_ge_1_4_0:
             self.bp_n_objects = 7
index d6cedac747f251081eb96de392037b15b2e9696d..f0b456c7fdf972bc5cee94b0a608bb8524aa4b4d 100644 (file)
@@ -8,7 +8,7 @@ from pandas.compat import lrange, zip
 
 import numpy as np
 from pandas import Index, Series, DataFrame, NaT
-from pandas.compat import is_platform_mac, PY3
+from pandas.compat import PY3
 from pandas.core.indexes.datetimes import date_range, bdate_range
 from pandas.core.indexes.timedeltas import timedelta_range
 from pandas.tseries.offsets import DateOffset
@@ -1326,10 +1326,11 @@ class TestTSPlot(TestPlotBase):
         ax.plot(values)
 
     def test_format_timedelta_ticks_narrow(self):
-        if is_platform_mac():
-            pytest.skip("skip on mac for precision display issue on older mpl")
-
-        if self.mpl_ge_2_0_0:
+        if self.mpl_ge_2_2_0:
+            expected_labels = (['-1 days 23:59:59.999999998'] +
+                               ['00:00:00.0000000{:0>2d}'.format(2 * i)
+                                for i in range(6)])
+        elif self.mpl_ge_2_0_0:
             expected_labels = [''] + [
                 '00:00:00.00000000{:d}'.format(2 * i)
                 for i in range(5)] + ['']
@@ -1349,9 +1350,6 @@ class TestTSPlot(TestPlotBase):
             assert l.get_text() == l_expected
 
     def test_format_timedelta_ticks_wide(self):
-        if is_platform_mac():
-            pytest.skip("skip on mac for precision display issue on older mpl")
-
         if self.mpl_ge_2_0_0:
             expected_labels = [
                 '',
@@ -1366,6 +1364,9 @@ class TestTSPlot(TestPlotBase):
                 '9 days 06:13:20',
                 ''
             ]
+            if self.mpl_ge_2_2_0:
+                expected_labels[0] = '-2 days 20:13:20'
+                expected_labels[-1] = '10 days 10:00:00'
         else:
             expected_labels = [
                 '00:00:00',