Compare commits
127 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
82aa7ee91e | ||
|
|
2c8079f719 | ||
|
|
20e40c3953 | ||
|
|
a6c4a06cef | ||
|
|
862f207d27 | ||
|
|
6f741c4a02 | ||
|
|
b89d120a97 | ||
|
|
1b8cd73b7e | ||
|
|
69d38c5f1e | ||
|
|
725edd957b | ||
|
|
c48ca2e7fd | ||
|
|
5c2bf08c46 | ||
|
|
7930b4df8d | ||
|
|
ffa18cbcd2 | ||
|
|
c0a5a7d07f | ||
|
|
c1840d0738 | ||
|
|
c89bd06dd9 | ||
|
|
b11ac2671c | ||
|
|
15844872fc | ||
|
|
ad961d502c | ||
|
|
bf010710f1 | ||
|
|
f46b703e96 | ||
|
|
da0bd4c413 | ||
|
|
c409bffb3d | ||
|
|
172edad3e8 | ||
|
|
c3e31d8c7e | ||
|
|
bc53b538e3 | ||
|
|
14e86457fd | ||
|
|
8d6885671d | ||
|
|
b470c189c1 | ||
|
|
75d0d8966b | ||
|
|
0326098544 | ||
|
|
2d712efe1e | ||
|
|
09769170a4 | ||
|
|
3f6380df61 | ||
|
|
c9345fa6ce | ||
|
|
4cf6018279 | ||
|
|
f28833ef2d | ||
|
|
58a05487aa | ||
|
|
5ff9cbe460 | ||
|
|
730689d98e | ||
|
|
14e87c4546 | ||
|
|
e9a5a6f0c0 | ||
|
|
68a10c0be2 | ||
|
|
cf584d71bb | ||
|
|
c20c3de8d0 | ||
|
|
33684553c0 | ||
|
|
0505957232 | ||
|
|
886c137f30 | ||
|
|
61b48deb75 | ||
|
|
af22a586b1 | ||
|
|
2e2f0e7aa2 | ||
|
|
cab430591a | ||
|
|
cf0338c697 | ||
|
|
08fc8aa374 | ||
|
|
82ec7425cf | ||
|
|
8c2171471b | ||
|
|
b295321e02 | ||
|
|
00a8b9c8fd | ||
|
|
844271bb32 | ||
|
|
da083597a2 | ||
|
|
1c7f1a4e48 | ||
|
|
959576b111 | ||
|
|
a402cee11b | ||
|
|
ee7e32500b | ||
|
|
0316efe86f | ||
|
|
a6629ee97c | ||
|
|
267dd5c6f4 | ||
|
|
ecfdac6c70 | ||
|
|
632ebab3f1 | ||
|
|
ae3945e801 | ||
|
|
8314ea342f | ||
|
|
760f924558 | ||
|
|
8e6fb6a047 | ||
|
|
95c4d0eaf5 | ||
|
|
cfae272b51 | ||
|
|
c901c6602b | ||
|
|
96f1b73a85 | ||
|
|
e065ba8c72 | ||
|
|
108153e46c | ||
|
|
69fbdf849b | ||
|
|
a0ff1b7b0d | ||
|
|
a9a2c96250 | ||
|
|
5ddd160fd3 | ||
|
|
13c730c10e | ||
|
|
13ef95ae8f | ||
|
|
b7fd65cd9f | ||
|
|
b9a2f5516d | ||
|
|
9411cfc02e | ||
|
|
9c2074e497 | ||
|
|
732ad8bbfe | ||
|
|
8c9cc20e2a | ||
|
|
76883b8317 | ||
|
|
98dd5e3da2 | ||
|
|
dd3b8abfa9 | ||
|
|
3d4898c537 | ||
|
|
3b5c19b1c1 | ||
|
|
d42870f60f | ||
|
|
68e041327a | ||
|
|
7731b0f8b4 | ||
|
|
8736c81a32 | ||
|
|
12e8a6231d | ||
|
|
b69e56e8d0 | ||
|
|
be26c9bf21 | ||
|
|
f7ffbd877f | ||
|
|
14b1524911 | ||
|
|
674876c696 | ||
|
|
81fc2e8024 | ||
|
|
0a7be6ae46 | ||
|
|
e5fc5ec392 | ||
|
|
90bbb1ede9 | ||
|
|
c4143b65b0 | ||
|
|
83a27676aa | ||
|
|
adaf51ea57 | ||
|
|
ab00be2ba0 | ||
|
|
b2c1943ea5 | ||
|
|
c89b645d96 | ||
|
|
b58a0f66d3 | ||
|
|
eb9a122389 | ||
|
|
11c0529c89 | ||
|
|
bce7fc7101 | ||
|
|
f2d3f53a8d | ||
|
|
03883d02e8 | ||
|
|
5e8c5cddc3 | ||
|
|
cfeed65034 | ||
|
|
8a5f96fc9d | ||
|
|
2114656575 |
26
.gitignore
vendored
26
.gitignore
vendored
@@ -1,3 +1,29 @@
|
||||
matplotlib-1.0.0-without-gpc.tar.gz
|
||||
/matplotlib-1.0.1-without-gpc.tar.gz
|
||||
/mpl_sampledata-1.0.1.tar.gz
|
||||
/matplotlib-1.2.0-without-gpc.tar.gz
|
||||
/matplotlib-1.3.0-without-gpc.tar.xz
|
||||
/matplotlib-1.3.1-without-gpc.tar.xz
|
||||
/matplotlib-1.4.3-without-gpc.tar.xz
|
||||
/matplotlib-1.4.3-without-extern.tar.xz
|
||||
/matplotlib-1.5.1-without-extern.tar.xz
|
||||
/matplotlib-1.5.1.tar.gz
|
||||
/matplotlib-1.5.2rc2.tar.gz
|
||||
/matplotlib-2.0.0b4.tar.gz
|
||||
/matplotlib-2.0.0rc2.tar.gz
|
||||
/matplotlib-2.0.0.tar.gz
|
||||
/matplotlib-2.0.0-without-copyrighted.tar.xz
|
||||
/matplotlib-2.0.1.tar.gz
|
||||
/matplotlib-2.0.2.tar.gz
|
||||
/matplotlib-2.1.0rc1.tar.gz
|
||||
/matplotlib-2.1.0.tar.gz
|
||||
/matplotlib-2.1.1.tar.gz
|
||||
/matplotlib-2.1.2.tar.gz
|
||||
/matplotlib-2.1.2-with-freetype-2.8.tar.gz
|
||||
/matplotlib-2.2.2.tar.gz
|
||||
/matplotlib-2.2.2-with-freetype-2.8.tar.gz
|
||||
/matplotlib-2.2.2-with-freetype-2.9.tar.gz
|
||||
/matplotlib-2.2.3.tar.gz
|
||||
/matplotlib-2.2.3-with-freetype-2.8.tar.gz
|
||||
/matplotlib-2.2.3-with-freetype-2.9.1.tar.gz
|
||||
/matplotlib-2.2.4.tar.gz
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
--- a/lib/matplotlib/axes.py
|
||||
+++ b/lib/matplotlib/axes.py
|
||||
@@ -2679,18 +2679,20 @@ class Axes(martist.Artist):
|
||||
def xaxis_date(self, tz=None):
|
||||
"""Sets up x-axis ticks and labels that treat the x data as dates.
|
||||
|
||||
- *tz* is the time zone to use in labeling dates. Defaults to rc value.
|
||||
+ *tz* is a timezone string or :class:`tzinfo` instance.
|
||||
+ Defaults to rc value.
|
||||
"""
|
||||
# should be enough to inform the unit conversion interface
|
||||
- # dates are comng in
|
||||
- self.xaxis.axis_date()
|
||||
+ # dates are coming in
|
||||
+ self.xaxis.axis_date(tz)
|
||||
|
||||
def yaxis_date(self, tz=None):
|
||||
"""Sets up y-axis ticks and labels that treat the y data as dates.
|
||||
|
||||
- *tz* is the time zone to use in labeling dates. Defaults to rc value.
|
||||
+ *tz* is a timezone string or :class:`tzinfo` instance.
|
||||
+ Defaults to rc value.
|
||||
"""
|
||||
- self.yaxis.axis_date()
|
||||
+ self.yaxis.axis_date(tz)
|
||||
|
||||
def format_xdata(self, x):
|
||||
"""
|
||||
@@ -3808,7 +3810,7 @@ class Axes(martist.Artist):
|
||||
*fmt*: string
|
||||
The plot format string.
|
||||
|
||||
- *tz*: [ None | timezone string ]
|
||||
+ *tz*: [ None | timezone string | :class:`tzinfo` instance]
|
||||
The time zone to use in labeling dates. If *None*, defaults to rc
|
||||
value.
|
||||
|
||||
diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py
|
||||
index 85e078c..a825d8e 100644
|
||||
--- a/lib/matplotlib/axis.py
|
||||
+++ b/lib/matplotlib/axis.py
|
||||
@@ -1249,21 +1249,21 @@ class Axis(artist.Artist):
|
||||
def update_units(self, data):
|
||||
"""
|
||||
introspect *data* for units converter and update the
|
||||
- axis.converter instance if necessary. Return *True* is *data* is
|
||||
- registered for unit conversion
|
||||
+ axis.converter instance if necessary. Return *True*
|
||||
+ if *data* is registered for unit conversion.
|
||||
"""
|
||||
|
||||
converter = munits.registry.get_converter(data)
|
||||
- if converter is None: return False
|
||||
+ if converter is None:
|
||||
+ return False
|
||||
|
||||
neednew = self.converter!=converter
|
||||
self.converter = converter
|
||||
default = self.converter.default_units(data, self)
|
||||
- #print 'update units: default="%s", units=%s"'%(default, self.units)
|
||||
+ #print 'update units: default=%s, units=%s'%(default, self.units)
|
||||
if default is not None and self.units is None:
|
||||
self.set_units(default)
|
||||
|
||||
-
|
||||
if neednew:
|
||||
self._update_axisinfo()
|
||||
return True
|
||||
@@ -1484,14 +1484,21 @@ class Axis(artist.Artist):
|
||||
self.major.locator.zoom(direction)
|
||||
|
||||
|
||||
- def axis_date(self):
|
||||
+ def axis_date(self, tz=None):
|
||||
"""
|
||||
Sets up x-axis ticks and labels that treat the x data as dates.
|
||||
+ *tz* is a :class:`tzinfo` instance or a timezone string.
|
||||
+ This timezone is used to create date labels.
|
||||
"""
|
||||
+ # By providing a sample datetime instance with the desired
|
||||
+ # timezone, the registered converter can be selected,
|
||||
+ # and the "units" attribute, which is the timezone, can
|
||||
+ # be set.
|
||||
import datetime
|
||||
- # should be enough to inform the unit conversion interface
|
||||
- # dates are comng in
|
||||
- self.update_units(datetime.date(2009,1,1))
|
||||
+ if isinstance(tz, (str, unicode)):
|
||||
+ import pytz
|
||||
+ tz = pytz.timezone(tz)
|
||||
+ self.update_units(datetime.datetime(2009,1,1,0,0,0,0,tz))
|
||||
|
||||
|
||||
class XAxis(Axis):
|
||||
diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py
|
||||
index 7a2f9f3..9018315 100644
|
||||
--- a/lib/matplotlib/dates.py
|
||||
+++ b/lib/matplotlib/dates.py
|
||||
@@ -1104,15 +1104,26 @@ def weeks(w):
|
||||
|
||||
|
||||
class DateConverter(units.ConversionInterface):
|
||||
- """The units are equivalent to the timezone."""
|
||||
+ """
|
||||
+ Converter for datetime.date and datetime.datetime data,
|
||||
+ or for date/time data represented as it would be converted
|
||||
+ by :func:`date2num`.
|
||||
+
|
||||
+ The 'unit' tag for such data is None or a tzinfo instance.
|
||||
+ """
|
||||
|
||||
@staticmethod
|
||||
def axisinfo(unit, axis):
|
||||
- 'return the unit AxisInfo'
|
||||
- # make sure that the axis does not start at 0
|
||||
+ """
|
||||
+ Return the :class:`~matplotlib.units.AxisInfo` for *unit*.
|
||||
+
|
||||
+ *unit* is a tzinfo instance or None.
|
||||
+ The *axis* argument is required but not used.
|
||||
+ """
|
||||
+ tz = unit
|
||||
|
||||
- majloc = AutoDateLocator(tz=unit)
|
||||
- majfmt = AutoDateFormatter(majloc, tz=unit)
|
||||
+ majloc = AutoDateLocator(tz=tz)
|
||||
+ majfmt = AutoDateFormatter(majloc, tz=tz)
|
||||
datemin = datetime.date(2000, 1, 1)
|
||||
datemax = datetime.date(2010, 1, 1)
|
||||
|
||||
@@ -1121,12 +1132,28 @@ class DateConverter(units.ConversionInterface):
|
||||
|
||||
@staticmethod
|
||||
def convert(value, unit, axis):
|
||||
- if units.ConversionInterface.is_numlike(value): return value
|
||||
+ """
|
||||
+ If *value* is not already a number or sequence of numbers,
|
||||
+ convert it with :func:`date2num`.
|
||||
+
|
||||
+ The *unit* and *axis* arguments are not used.
|
||||
+ """
|
||||
+ if units.ConversionInterface.is_numlike(value):
|
||||
+ return value
|
||||
return date2num(value)
|
||||
|
||||
@staticmethod
|
||||
def default_units(x, axis):
|
||||
- 'Return the default unit for *x* or None'
|
||||
+ 'Return the tzinfo instance of *x* or of its first element, or None'
|
||||
+ try:
|
||||
+ x = x[0]
|
||||
+ except (TypeError, IndexError):
|
||||
+ pass
|
||||
+
|
||||
+ try:
|
||||
+ return x.tzinfo
|
||||
+ except AttributeError:
|
||||
+ pass
|
||||
return None
|
||||
|
||||
|
||||
diff --git a/lib/matplotlib/units.py b/lib/matplotlib/units.py
|
||||
index 700363a..59b570e 100644
|
||||
--- a/lib/matplotlib/units.py
|
||||
+++ b/lib/matplotlib/units.py
|
||||
@@ -7,8 +7,8 @@ objects, eg a list of datetime objects, as well as for objects that
|
||||
are unit aware. We don't assume any particular units implementation,
|
||||
rather a units implementation must provide a ConversionInterface, and
|
||||
the register with the Registry converter dictionary. For example,
|
||||
-here is a complete implementation which support plotting with native
|
||||
-datetime objects
|
||||
+here is a complete implementation which supports plotting with native
|
||||
+datetime objects::
|
||||
|
||||
|
||||
import matplotlib.units as units
|
||||
@@ -48,7 +48,7 @@ from matplotlib.cbook import iterable, is_numlike, is_string_like
|
||||
class AxisInfo:
|
||||
'information to support default axis labeling and tick labeling, and default limits'
|
||||
def __init__(self, majloc=None, minloc=None,
|
||||
- majfmt=None, minfmt=None, label=None,
|
||||
+ majfmt=None, minfmt=None, label=None,
|
||||
default_limits=None):
|
||||
"""
|
||||
majloc and minloc: TickLocators for the major and minor ticks
|
||||
--
|
||||
1.7.6.2
|
||||
|
||||
43
0001-Force-using-system-qhull.patch
Normal file
43
0001-Force-using-system-qhull.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
From 46361ca058295e3f08d3c54196d990c497834306 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Fri, 30 Mar 2018 03:15:51 -0400
|
||||
Subject: [PATCH] Force using system qhull.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
setupext.py | 17 ++---------------
|
||||
1 file changed, 2 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/setupext.py b/setupext.py
|
||||
index d2ff239ad..30e0c9085 100644
|
||||
--- a/setupext.py
|
||||
+++ b/setupext.py
|
||||
@@ -1318,23 +1318,10 @@ class Qhull(SetupPackage):
|
||||
|
||||
def check(self):
|
||||
self.__class__.found_external = True
|
||||
- try:
|
||||
- return self._check_for_pkg_config(
|
||||
- 'libqhull', 'libqhull/qhull_a.h', min_version='2015.2')
|
||||
- except CheckFailed as e:
|
||||
- self.__class__.found_pkgconfig = False
|
||||
- self.__class__.found_external = False
|
||||
- return str(e) + ' Using local copy.'
|
||||
+ return ' Using system copy.'
|
||||
|
||||
def add_flags(self, ext):
|
||||
- if self.found_external:
|
||||
- pkg_config.setup_extension(ext, 'qhull',
|
||||
- default_libraries=['qhull'])
|
||||
- else:
|
||||
- ext.include_dirs.insert(0, 'extern')
|
||||
- ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c')))
|
||||
- if sysconfig.get_config_var('LIBM') == '-lm':
|
||||
- ext.libraries.extend('m')
|
||||
+ ext.libraries.append('qhull')
|
||||
|
||||
|
||||
class TTConv(SetupPackage):
|
||||
--
|
||||
2.14.3
|
||||
|
||||
116
0001-Use-packaged-jquery-and-jquery-ui.patch
Normal file
116
0001-Use-packaged-jquery-and-jquery-ui.patch
Normal file
@@ -0,0 +1,116 @@
|
||||
From d873c282f4ab93f14c6b4ac6f4210852024dba78 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Sat, 2 Mar 2019 18:18:29 -0500
|
||||
Subject: [PATCH] Use packaged jquery and jquery-ui.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
.../backends/web_backend/all_figures.html | 6 +--
|
||||
.../backends/web_backend/single_figure.html | 6 +--
|
||||
setup.py | 49 -------------------
|
||||
3 files changed, 6 insertions(+), 55 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/backends/web_backend/all_figures.html b/lib/matplotlib/backends/web_backend/all_figures.html
|
||||
index 41f48dc6d..69097eb4f 100644
|
||||
--- a/lib/matplotlib/backends/web_backend/all_figures.html
|
||||
+++ b/lib/matplotlib/backends/web_backend/all_figures.html
|
||||
@@ -3,9 +3,9 @@
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/page.css" type="text/css">
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/boilerplate.css" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/fbm.css" type="text/css" />
|
||||
- <link rel="stylesheet" href="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.css" >
|
||||
- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/external/jquery/jquery.js"></script>
|
||||
- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.js"></script>
|
||||
+ <link rel="stylesheet" href="/usr/share/javascript/jquery_ui/jquery-ui.min.css" >
|
||||
+ <script src="/usr/share/javascript/jquery/latest/jquery.min.js"></script>
|
||||
+ <script src="/usr/share/javascript/jquery_ui/jquery-ui.min.js"></script>
|
||||
<script src="{{ prefix }}/_static/js/mpl_tornado.js"></script>
|
||||
<script src="{{ prefix }}/js/mpl.js"></script>
|
||||
|
||||
diff --git a/lib/matplotlib/backends/web_backend/single_figure.html b/lib/matplotlib/backends/web_backend/single_figure.html
|
||||
index 4d5a366fb..c11c86618 100644
|
||||
--- a/lib/matplotlib/backends/web_backend/single_figure.html
|
||||
+++ b/lib/matplotlib/backends/web_backend/single_figure.html
|
||||
@@ -3,9 +3,9 @@
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/page.css" type="text/css">
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/boilerplate.css" type="text/css" />
|
||||
<link rel="stylesheet" href="{{ prefix }}/_static/css/fbm.css" type="text/css" />
|
||||
- <link rel="stylesheet" href="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.css" >
|
||||
- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/external/jquery/jquery.js"></script>
|
||||
- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.js"></script>
|
||||
+ <link rel="stylesheet" href="/usr/share/javascript/jquery_ui/jquery-ui.min.css" >
|
||||
+ <script src="/usr/share/javascript/jquery/latest/jquery.min.js"></script>
|
||||
+ <script src="/usr/share/javascript/jquery_ui/jquery-ui.min.js"></script>
|
||||
<script src="{{ prefix }}/_static/js/mpl_tornado.js"></script>
|
||||
<script src="{{ prefix }}/js/mpl.js"></script>
|
||||
<script>
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 41037e95d..7a0af717f 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -35,8 +35,6 @@ from zipfile import ZipFile
|
||||
|
||||
from setuptools import setup
|
||||
from setuptools.command.build_ext import build_ext as BuildExtCommand
|
||||
-from setuptools.command.develop import develop as DevelopCommand
|
||||
-from setuptools.command.install_lib import install_lib as InstallLibCommand
|
||||
from setuptools.command.test import test as TestCommand
|
||||
|
||||
# The setuptools version of sdist adds a setup.cfg file to the tree.
|
||||
@@ -146,53 +144,6 @@ cmdclass['test'] = NoopTestCommand
|
||||
cmdclass['build_ext'] = BuildExtraLibraries
|
||||
|
||||
|
||||
-def _download_jquery_to(dest):
|
||||
- # Note: When bumping the jquery-ui version, also update the versions in
|
||||
- # single_figure.html and all_figures.html.
|
||||
- url = "https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip"
|
||||
- sha = 'f8233674366ab36b2c34c577ec77a3d70cac75d2e387d8587f3836345c0f624d'
|
||||
- if not os.path.exists(os.path.join(dest, "jquery-ui-1.12.1")):
|
||||
- _makedirs(dest, exist_ok=True)
|
||||
- try:
|
||||
- buff = download_or_cache(url, sha)
|
||||
- except Exception:
|
||||
- raise IOError("Failed to download jquery-ui. Please download " +
|
||||
- "{url} and extract it to {dest}.".format(
|
||||
- url=url, dest=dest))
|
||||
- with ZipFile(buff) as zf:
|
||||
- zf.extractall(dest)
|
||||
-
|
||||
-
|
||||
-# Relying on versioneer's implementation detail.
|
||||
-_orgin_sdist = cmdclass['sdist']
|
||||
-
|
||||
-
|
||||
-class sdist_with_jquery(_orgin_sdist):
|
||||
- def make_release_tree(self, base_dir, files):
|
||||
- _orgin_sdist.make_release_tree(self, base_dir, files)
|
||||
- _download_jquery_to(
|
||||
- os.path.join(base_dir, "lib/matplotlib/backends/web_backend/"))
|
||||
-
|
||||
-
|
||||
-# Affects install and bdist_wheel.
|
||||
-class install_lib_with_jquery(InstallLibCommand):
|
||||
- def run(self):
|
||||
- InstallLibCommand.run(self)
|
||||
- _download_jquery_to(
|
||||
- os.path.join(self.install_dir, "matplotlib/backends/web_backend/"))
|
||||
-
|
||||
-
|
||||
-class develop_with_jquery(DevelopCommand):
|
||||
- def run(self):
|
||||
- DevelopCommand.run(self)
|
||||
- _download_jquery_to("lib/matplotlib/backends/web_backend/")
|
||||
-
|
||||
-
|
||||
-cmdclass['sdist'] = sdist_with_jquery
|
||||
-cmdclass['install_lib'] = install_lib_with_jquery
|
||||
-cmdclass['develop'] = develop_with_jquery
|
||||
-
|
||||
-
|
||||
# One doesn't normally see `if __name__ == '__main__'` blocks in a setup.py,
|
||||
# however, this is needed on Windows to avoid creating infinite subprocesses
|
||||
# when using multiprocessing.
|
||||
--
|
||||
2.20.1
|
||||
|
||||
97
0001-matplotlibrc-path-search-fix.patch
Normal file
97
0001-matplotlibrc-path-search-fix.patch
Normal file
@@ -0,0 +1,97 @@
|
||||
From 84ebbed32cf1c0f4d56a6191ce7470fda6ea0543 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Wed, 27 Sep 2017 19:35:59 -0400
|
||||
Subject: [PATCH 1/3] matplotlibrc path search fix
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/__init__.py | 8 +++++---
|
||||
lib/matplotlib/tests/test_rcparams.py | 22 ++++++++++++++++------
|
||||
2 files changed, 21 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index c5accc3c3..bc38f316c 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -738,9 +738,12 @@ def _get_data_path():
|
||||
|
||||
_file = _decode_filesystem_path(__file__)
|
||||
path = os.sep.join([os.path.dirname(_file), 'mpl-data'])
|
||||
+ path = '/usr/share/matplotlib/mpl-data'
|
||||
if os.path.isdir(path):
|
||||
return path
|
||||
|
||||
+ raise RuntimeError('Could not find the matplotlib data files')
|
||||
+
|
||||
# setuptools' namespace_packages may highjack this init file
|
||||
# so need to try something known to be in matplotlib, not basemap
|
||||
import matplotlib.afm
|
||||
@@ -821,8 +824,7 @@ def matplotlib_fname():
|
||||
|
||||
- `$HOME/.matplotlib/matplotlibrc` if `$HOME` is defined.
|
||||
|
||||
- - Lastly, it looks in `$MATPLOTLIBDATA/matplotlibrc` for a
|
||||
- system-defined copy.
|
||||
+ - Lastly, it looks in `/etc/matplotlibrc` for a system-defined copy.
|
||||
"""
|
||||
|
||||
def gen_candidates():
|
||||
@@ -835,7 +837,7 @@ def matplotlib_fname():
|
||||
yield matplotlibrc
|
||||
yield os.path.join(matplotlibrc, 'matplotlibrc')
|
||||
yield os.path.join(_get_configdir(), 'matplotlibrc')
|
||||
- yield os.path.join(get_data_path(), 'matplotlibrc')
|
||||
+ yield '/etc/matplotlibrc'
|
||||
|
||||
for fname in gen_candidates():
|
||||
if os.path.exists(fname):
|
||||
diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py
|
||||
index c0378e1bf..7f14bcc46 100644
|
||||
--- a/lib/matplotlib/tests/test_rcparams.py
|
||||
+++ b/lib/matplotlib/tests/test_rcparams.py
|
||||
@@ -424,14 +424,25 @@ def test_rcparams_reset_after_fail():
|
||||
assert mpl.rcParams['text.usetex'] is False
|
||||
|
||||
|
||||
-def test_if_rctemplate_is_up_to_date():
|
||||
+@pytest.fixture
|
||||
+def mplrc():
|
||||
+ # This is the Fedora-specific location ...
|
||||
+ if 'MATPLOTLIBDATA' in os.environ:
|
||||
+ # ... in buildroot.
|
||||
+ return os.path.join(os.environ['MATPLOTLIBDATA'],
|
||||
+ '../../../../etc/matplotlibrc')
|
||||
+ else:
|
||||
+ # ... on installed systems.
|
||||
+ return '/etc/matplotlibrc'
|
||||
+
|
||||
+
|
||||
+def test_if_rctemplate_is_up_to_date(mplrc):
|
||||
# This tests if the matplotlibrc.template file
|
||||
# contains all valid rcParams.
|
||||
dep1 = mpl._all_deprecated
|
||||
dep2 = mpl._deprecated_set
|
||||
deprecated = list(dep1.union(dep2))
|
||||
- path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc')
|
||||
- with open(path_to_rc, "r") as f:
|
||||
+ with open(mplrc, "r") as f:
|
||||
rclines = f.readlines()
|
||||
missing = {}
|
||||
for k, v in mpl.defaultParams.items():
|
||||
@@ -453,11 +464,10 @@ def test_if_rctemplate_is_up_to_date():
|
||||
.format(missing.items()))
|
||||
|
||||
|
||||
-def test_if_rctemplate_would_be_valid(tmpdir):
|
||||
+def test_if_rctemplate_would_be_valid(tmpdir, mplrc):
|
||||
# This tests if the matplotlibrc.template file would result in a valid
|
||||
# rc file if all lines are uncommented.
|
||||
- path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc')
|
||||
- with open(path_to_rc, "r") as f:
|
||||
+ with open(mplrc, "r") as f:
|
||||
rclines = f.readlines()
|
||||
newlines = []
|
||||
for line in rclines:
|
||||
--
|
||||
2.20.1
|
||||
|
||||
27
0002-Increase-tolerances-for-non-x86_64-arches.patch
Normal file
27
0002-Increase-tolerances-for-non-x86_64-arches.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
From 95035beb712088f9b66aae9cc810a1a94685d0da Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Tue, 23 Jan 2018 20:27:17 -0500
|
||||
Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/tests/test_streamplot.py | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
|
||||
index 81a51e711..4f70ce861 100644
|
||||
--- a/lib/matplotlib/tests/test_streamplot.py
|
||||
+++ b/lib/matplotlib/tests/test_streamplot.py
|
||||
@@ -58,8 +58,7 @@ def test_linewidth():
|
||||
linewidth=lw)
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['streamplot_masks_and_nans'],
|
||||
- tol=0.04 if on_win else 0)
|
||||
+@image_comparison(baseline_images=['streamplot_masks_and_nans'], tol=0.01)
|
||||
def test_masks_and_nans():
|
||||
X, Y, U, V = velocity_field()
|
||||
mask = np.zeros(U.shape, dtype=bool)
|
||||
--
|
||||
2.20.1
|
||||
|
||||
567
0003-Increase-some-tolerances-for-32-bit-systems.patch
Normal file
567
0003-Increase-some-tolerances-for-32-bit-systems.patch
Normal file
@@ -0,0 +1,567 @@
|
||||
From bcb05f18d78d2a467ddc9cdb0e6bcebd41116ee5 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Sat, 31 Mar 2018 00:15:14 -0400
|
||||
Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/testing/decorators.py | 2 +-
|
||||
lib/matplotlib/tests/test_artist.py | 3 +-
|
||||
lib/matplotlib/tests/test_axes.py | 47 +++++++++----------
|
||||
lib/matplotlib/tests/test_collections.py | 2 +-
|
||||
lib/matplotlib/tests/test_colorbar.py | 11 +++--
|
||||
.../tests/test_constrainedlayout.py | 2 +-
|
||||
lib/matplotlib/tests/test_contour.py | 6 +--
|
||||
lib/matplotlib/tests/test_image.py | 2 +-
|
||||
lib/matplotlib/tests/test_mathtext.py | 4 +-
|
||||
lib/matplotlib/tests/test_patches.py | 3 +-
|
||||
lib/matplotlib/tests/test_patheffects.py | 2 +-
|
||||
lib/matplotlib/tests/test_pickle.py | 2 +-
|
||||
lib/matplotlib/tests/test_quiver.py | 2 +-
|
||||
lib/matplotlib/tests/test_streamplot.py | 3 +-
|
||||
lib/matplotlib/tests/test_transforms.py | 2 +-
|
||||
.../tests/test_axisartist_floating_axes.py | 4 +-
|
||||
...test_axisartist_grid_helper_curvelinear.py | 6 +--
|
||||
lib/mpl_toolkits/tests/test_mplot3d.py | 4 +-
|
||||
18 files changed, 53 insertions(+), 54 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
|
||||
index d008446dc..2d930cacc 100644
|
||||
--- a/lib/matplotlib/testing/decorators.py
|
||||
+++ b/lib/matplotlib/testing/decorators.py
|
||||
@@ -418,7 +418,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol,
|
||||
return decorator
|
||||
|
||||
|
||||
-def image_comparison(baseline_images, extensions=None, tol=0,
|
||||
+def image_comparison(baseline_images, extensions=None, tol=0.1,
|
||||
freetype_version=None, remove_text=False,
|
||||
savefig_kwarg=None,
|
||||
# Default of mpl_test_settings fixture and cleanup too.
|
||||
diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py
|
||||
index e6aff72bf..b60305bcf 100644
|
||||
--- a/lib/matplotlib/tests/test_artist.py
|
||||
+++ b/lib/matplotlib/tests/test_artist.py
|
||||
@@ -96,7 +96,8 @@ def test_collection_transform_of_none():
|
||||
assert isinstance(c._transOffset, mtransforms.IdentityTransform)
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=["clip_path_clipping"], remove_text=True)
|
||||
+@image_comparison(baseline_images=["clip_path_clipping"], remove_text=True,
|
||||
+ tol=0.28)
|
||||
def test_clipping():
|
||||
exterior = mpath.Path.unit_rectangle().deepcopy()
|
||||
exterior.vertices *= 4
|
||||
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
|
||||
index dde856669..5cfd4151a 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -555,7 +555,7 @@ def test_single_point():
|
||||
plt.plot('b', 'b', 'o', data=data)
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['single_date'])
|
||||
+@image_comparison(baseline_images=['single_date'], tol=1.97)
|
||||
def test_single_date():
|
||||
time1 = [721964.0]
|
||||
data1 = [-65.54]
|
||||
@@ -739,8 +739,7 @@ def test_polar_rlabel_position():
|
||||
ax.tick_params(rotation='auto')
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['polar_theta_wedge'], style='default',
|
||||
- tol=0.01 if six.PY2 else 0)
|
||||
+@image_comparison(baseline_images=['polar_theta_wedge'], style='default')
|
||||
def test_polar_theta_limits():
|
||||
r = np.arange(0, 3.0, 0.01)
|
||||
theta = 2*np.pi*r
|
||||
@@ -1023,7 +1022,7 @@ def test_fill_between_interpolate():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['fill_between_interpolate_decreasing'],
|
||||
- style='mpl20', remove_text=True)
|
||||
+ style='mpl20', remove_text=True, tol=0.78)
|
||||
def test_fill_between_interpolate_decreasing():
|
||||
p = np.array([724.3, 700, 655])
|
||||
t = np.array([9.4, 7, 2.2])
|
||||
@@ -1105,7 +1104,7 @@ def test_pcolormesh():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['pcolormesh_datetime_axis'],
|
||||
- extensions=['png'], remove_text=False)
|
||||
+ extensions=['png'], remove_text=False, tol=0.19)
|
||||
def test_pcolormesh_datetime_axis():
|
||||
fig = plt.figure()
|
||||
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
|
||||
@@ -1131,7 +1130,7 @@ def test_pcolormesh_datetime_axis():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['pcolor_datetime_axis'],
|
||||
- extensions=['png'], remove_text=False)
|
||||
+ extensions=['png'], remove_text=False, tol=0.19)
|
||||
def test_pcolor_datetime_axis():
|
||||
fig = plt.figure()
|
||||
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
|
||||
@@ -1188,7 +1187,7 @@ def test_canonical():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['arc_angles'], remove_text=True,
|
||||
- style='default', extensions=['png'])
|
||||
+ style='default', extensions=['png'], tol=0.17)
|
||||
def test_arc_angles():
|
||||
from matplotlib import patches
|
||||
# Ellipse parameters
|
||||
@@ -2450,7 +2449,7 @@ def test_boxplot_mod_artist_after_plotting():
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_baseline',
|
||||
'violinplot_vert_baseline'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.24)
|
||||
def test_vert_violinplot_baseline():
|
||||
# First 9 digits of frac(sqrt(2))
|
||||
np.random.seed(414213562)
|
||||
@@ -2468,7 +2467,7 @@ def test_vert_violinplot_baseline():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_showmeans'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.23)
|
||||
def test_vert_violinplot_showmeans():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(3))
|
||||
@@ -2479,7 +2478,7 @@ def test_vert_violinplot_showmeans():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_showextrema'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.23)
|
||||
def test_vert_violinplot_showextrema():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(5))
|
||||
@@ -2490,7 +2489,7 @@ def test_vert_violinplot_showextrema():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_showmedians'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.23)
|
||||
def test_vert_violinplot_showmedians():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(7))
|
||||
@@ -2501,7 +2500,7 @@ def test_vert_violinplot_showmedians():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_showall'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.2)
|
||||
def test_vert_violinplot_showall():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(11))
|
||||
@@ -2512,7 +2511,7 @@ def test_vert_violinplot_showall():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_custompoints_10'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.22)
|
||||
def test_vert_violinplot_custompoints_10():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(13))
|
||||
@@ -2523,7 +2522,7 @@ def test_vert_violinplot_custompoints_10():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_vert_custompoints_200'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.22)
|
||||
def test_vert_violinplot_custompoints_200():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(17))
|
||||
@@ -2534,7 +2533,7 @@ def test_vert_violinplot_custompoints_200():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_baseline'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.2)
|
||||
def test_horiz_violinplot_baseline():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(19))
|
||||
@@ -2545,7 +2544,7 @@ def test_horiz_violinplot_baseline():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_showmedians'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.23)
|
||||
def test_horiz_violinplot_showmedians():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(23))
|
||||
@@ -2556,7 +2555,7 @@ def test_horiz_violinplot_showmedians():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_showmeans'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.25)
|
||||
def test_horiz_violinplot_showmeans():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(29))
|
||||
@@ -2567,7 +2566,7 @@ def test_horiz_violinplot_showmeans():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_showextrema'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.2)
|
||||
def test_horiz_violinplot_showextrema():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(31))
|
||||
@@ -2578,7 +2577,7 @@ def test_horiz_violinplot_showextrema():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_showall'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.19)
|
||||
def test_horiz_violinplot_showall():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(37))
|
||||
@@ -2589,7 +2588,7 @@ def test_horiz_violinplot_showall():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_custompoints_10'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.22)
|
||||
def test_horiz_violinplot_custompoints_10():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(41))
|
||||
@@ -2600,7 +2599,7 @@ def test_horiz_violinplot_custompoints_10():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['violinplot_horiz_custompoints_200'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.22)
|
||||
def test_horiz_violinplot_custompoints_200():
|
||||
ax = plt.axes()
|
||||
# First 9 digits of frac(sqrt(43))
|
||||
@@ -3944,7 +3943,7 @@ def test_psd_noise():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['csd_freqs'], remove_text=True,
|
||||
- extensions=['png'], tol=0.002)
|
||||
+ extensions=['png'], tol=0.21)
|
||||
def test_csd_freqs():
|
||||
'''test axes.csd with sinusoidal stimuli'''
|
||||
n = 10000
|
||||
@@ -4803,7 +4802,7 @@ def test_rc_spines():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['rc_grid'], extensions=['png'],
|
||||
- savefig_kwarg={'dpi': 40})
|
||||
+ savefig_kwarg={'dpi': 40}, tol=0.2)
|
||||
def test_rc_grid():
|
||||
fig = plt.figure()
|
||||
rc_dict0 = {
|
||||
@@ -5298,7 +5297,7 @@ def test_date_timezone_y():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['date_timezone_x_and_y'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=3.05)
|
||||
def test_date_timezone_x_and_y():
|
||||
# Tests issue 5575
|
||||
time_index = [pytz.timezone('UTC').localize(datetime.datetime(
|
||||
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
|
||||
index 291647d17..265f23fed 100644
|
||||
--- a/lib/matplotlib/tests/test_collections.py
|
||||
+++ b/lib/matplotlib/tests/test_collections.py
|
||||
@@ -467,7 +467,7 @@ def test_EllipseCollection():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['polycollection_close'],
|
||||
- extensions=['png'], remove_text=True)
|
||||
+ extensions=['png'], remove_text=True, tol=0.45)
|
||||
def test_polycollection_close():
|
||||
from mpl_toolkits.mplot3d import Axes3D
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
|
||||
index 12a9bed3b..86d2358fb 100644
|
||||
--- a/lib/matplotlib/tests/test_colorbar.py
|
||||
+++ b/lib/matplotlib/tests/test_colorbar.py
|
||||
@@ -95,7 +95,7 @@ def _colorbar_extension_length(spacing):
|
||||
@image_comparison(
|
||||
baseline_images=['colorbar_extensions_shape_uniform',
|
||||
'colorbar_extensions_shape_proportional'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.16)
|
||||
def test_colorbar_extension_shape():
|
||||
'''Test rectangular colorbar extensions.'''
|
||||
# Create figures for uniform and proportionally spaced colorbars.
|
||||
@@ -105,7 +105,7 @@ def test_colorbar_extension_shape():
|
||||
|
||||
@image_comparison(baseline_images=['colorbar_extensions_uniform',
|
||||
'colorbar_extensions_proportional'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.25)
|
||||
def test_colorbar_extension_length():
|
||||
'''Test variable length colorbar extensions.'''
|
||||
# Create figures for uniform and proportionally spaced colorbars.
|
||||
@@ -119,7 +119,7 @@ def test_colorbar_extension_length():
|
||||
'cbar_sharing',
|
||||
],
|
||||
extensions=['png'], remove_text=True,
|
||||
- savefig_kwarg={'dpi': 40})
|
||||
+ savefig_kwarg={'dpi': 40}, tol=0.17)
|
||||
def test_colorbar_positioning():
|
||||
data = np.arange(1200).reshape(30, 40)
|
||||
levels = [0, 200, 400, 600, 800, 1000, 1200]
|
||||
@@ -173,7 +173,7 @@ def test_colorbar_positioning():
|
||||
|
||||
@image_comparison(baseline_images=['cbar_with_subplots_adjust'],
|
||||
extensions=['png'], remove_text=True,
|
||||
- savefig_kwarg={'dpi': 40})
|
||||
+ savefig_kwarg={'dpi': 40}, tol=0.17)
|
||||
def test_gridspec_make_colorbar():
|
||||
plt.figure()
|
||||
data = np.arange(1200).reshape(30, 40)
|
||||
@@ -232,7 +232,8 @@ def test_colorbarbase():
|
||||
|
||||
@image_comparison(
|
||||
baseline_images=['colorbar_closed_patch'],
|
||||
- remove_text=True)
|
||||
+ remove_text=True,
|
||||
+ tol=0.22)
|
||||
def test_colorbar_closed_patch():
|
||||
fig = plt.figure(figsize=(8, 6))
|
||||
ax1 = fig.add_axes([0.05, 0.85, 0.9, 0.1])
|
||||
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
index fcf633a08..cad431771 100644
|
||||
--- a/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
@@ -295,7 +295,7 @@ def test_constrained_layout12():
|
||||
ax.set_xlabel('x-label')
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['constrained_layout13'], tol=2.e-2,
|
||||
+@image_comparison(baseline_images=['constrained_layout13'], tol=3.e-2,
|
||||
extensions=['png'])
|
||||
def test_constrained_layout13():
|
||||
'Test that padding works.'
|
||||
diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
|
||||
index 42903ac68..f03a5d0af 100644
|
||||
--- a/lib/matplotlib/tests/test_contour.py
|
||||
+++ b/lib/matplotlib/tests/test_contour.py
|
||||
@@ -217,7 +217,7 @@ def test_given_colors_levels_and_extends():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['contour_datetime_axis'],
|
||||
- extensions=['png'], remove_text=False)
|
||||
+ extensions=['png'], remove_text=False, tol=0.18)
|
||||
def test_contour_datetime_axis():
|
||||
fig = plt.figure()
|
||||
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
|
||||
@@ -243,7 +243,7 @@ def test_contour_datetime_axis():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['contour_test_label_transforms'],
|
||||
- extensions=['png'], remove_text=True)
|
||||
+ extensions=['png'], remove_text=True, tol=1.38)
|
||||
def test_labels():
|
||||
# Adapted from pylab_examples example code: contour_demo.py
|
||||
# see issues #2475, #2843, and #2818 for explanation
|
||||
@@ -274,7 +274,7 @@ def test_labels():
|
||||
|
||||
@image_comparison(baseline_images=['contour_corner_mask_False',
|
||||
'contour_corner_mask_True'],
|
||||
- extensions=['png'], remove_text=True)
|
||||
+ extensions=['png'], remove_text=True, tol=0.19)
|
||||
def test_corner_mask():
|
||||
n = 60
|
||||
mask_level = 0.95
|
||||
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
|
||||
index c8a23347f..5a23ded19 100644
|
||||
--- a/lib/matplotlib/tests/test_image.py
|
||||
+++ b/lib/matplotlib/tests/test_image.py
|
||||
@@ -761,7 +761,7 @@ def test_imshow_endianess():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['imshow_masked_interpolation'],
|
||||
- remove_text=True, style='mpl20')
|
||||
+ remove_text=True, style='mpl20', tol=0.25)
|
||||
def test_imshow_masked_interpolation():
|
||||
|
||||
cm = copy(plt.get_cmap('viridis'))
|
||||
diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
|
||||
index af6701a0f..151b061a5 100644
|
||||
--- a/lib/matplotlib/tests/test_mathtext.py
|
||||
+++ b/lib/matplotlib/tests/test_mathtext.py
|
||||
@@ -173,7 +173,7 @@ def baseline_images(request, fontset, index):
|
||||
['cm', 'stix', 'stixsans', 'dejavusans',
|
||||
'dejavuserif'])
|
||||
@pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True)
|
||||
-@image_comparison(baseline_images=None)
|
||||
+@image_comparison(baseline_images=None, tol=0.31)
|
||||
def test_mathtext_rendering(baseline_images, fontset, index, test):
|
||||
matplotlib.rcParams['mathtext.fontset'] = fontset
|
||||
fig = plt.figure(figsize=(5.25, 0.75))
|
||||
@@ -187,7 +187,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test):
|
||||
['cm', 'stix', 'stixsans', 'dejavusans',
|
||||
'dejavuserif'])
|
||||
@pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True)
|
||||
-@image_comparison(baseline_images=None, extensions=['png'])
|
||||
+@image_comparison(baseline_images=None, extensions=['png'], tol=0.3)
|
||||
def test_mathfont_rendering(baseline_images, fontset, index, test):
|
||||
matplotlib.rcParams['mathtext.fontset'] = fontset
|
||||
fig = plt.figure(figsize=(5.25, 0.75))
|
||||
diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py
|
||||
index ff1abb9c6..cc90e6bb0 100644
|
||||
--- a/lib/matplotlib/tests/test_patches.py
|
||||
+++ b/lib/matplotlib/tests/test_patches.py
|
||||
@@ -266,9 +266,8 @@ def test_wedge_movement():
|
||||
assert getattr(w, attr) == new_v
|
||||
|
||||
|
||||
-# png needs tol>=0.06, pdf tol>=1.617
|
||||
@image_comparison(baseline_images=['wedge_range'],
|
||||
- remove_text=True, tol=1.65 if on_win else 0)
|
||||
+ remove_text=True)
|
||||
def test_wedge_range():
|
||||
ax = plt.axes()
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py
|
||||
index fe7265957..2addc35ed 100644
|
||||
--- a/lib/matplotlib/tests/test_patheffects.py
|
||||
+++ b/lib/matplotlib/tests/test_patheffects.py
|
||||
@@ -121,7 +121,7 @@ def test_SimplePatchShadow_offset():
|
||||
assert pe._offset == (4, 5)
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['collection'], tol=0.02)
|
||||
+@image_comparison(baseline_images=['collection'], tol=0.084)
|
||||
def test_collection():
|
||||
x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100))
|
||||
data = np.sin(x) + np.cos(y)
|
||||
diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
|
||||
index 89a5a512e..a25961284 100644
|
||||
--- a/lib/matplotlib/tests/test_pickle.py
|
||||
+++ b/lib/matplotlib/tests/test_pickle.py
|
||||
@@ -42,7 +42,7 @@ def test_simple():
|
||||
|
||||
@image_comparison(baseline_images=['multi_pickle'],
|
||||
extensions=['png'], remove_text=True,
|
||||
- style='mpl20')
|
||||
+ style='mpl20', tol=0.11)
|
||||
def test_complete():
|
||||
fig = plt.figure('Figure with a label?', figsize=(10, 6))
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_quiver.py b/lib/matplotlib/tests/test_quiver.py
|
||||
index a0e1e674f..ede6bfc64 100644
|
||||
--- a/lib/matplotlib/tests/test_quiver.py
|
||||
+++ b/lib/matplotlib/tests/test_quiver.py
|
||||
@@ -131,7 +131,7 @@ def test_quiver_key_pivot():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['barbs_test_image'],
|
||||
- extensions=['png'], remove_text=True)
|
||||
+ extensions=['png'], remove_text=True, tol=0.11)
|
||||
def test_barbs():
|
||||
x = np.linspace(-5, 5, 5)
|
||||
X, Y = np.meshgrid(x, x)
|
||||
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
|
||||
index 4f70ce861..5bc8184f7 100644
|
||||
--- a/lib/matplotlib/tests/test_streamplot.py
|
||||
+++ b/lib/matplotlib/tests/test_streamplot.py
|
||||
@@ -39,8 +39,7 @@ def test_startpoints():
|
||||
plt.plot(start_x, start_y, 'ok')
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['streamplot_colormap'],
|
||||
- tol=.02)
|
||||
+@image_comparison(baseline_images=['streamplot_colormap'])
|
||||
def test_colormap():
|
||||
X, Y, U, V = velocity_field()
|
||||
plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
|
||||
diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py
|
||||
index 06985db84..8efaef898 100644
|
||||
--- a/lib/matplotlib/tests/test_transforms.py
|
||||
+++ b/lib/matplotlib/tests/test_transforms.py
|
||||
@@ -74,7 +74,7 @@ def test_external_transform_api():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['pre_transform_data'],
|
||||
- tol=0.08)
|
||||
+ tol=0.155)
|
||||
def test_pre_transform_plotting():
|
||||
# a catch-all for as many as possible plot layouts which handle
|
||||
# pre-transforming the data NOTE: The axis range is important in this
|
||||
diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
|
||||
index de7226609..2676fc842 100644
|
||||
--- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
|
||||
+++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
|
||||
@@ -24,7 +24,7 @@ def test_subplot():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['curvelinear3'],
|
||||
- extensions=['png'], style='default', tol=0.01)
|
||||
+ extensions=['png'], style='default', tol=0.02)
|
||||
def test_curvelinear3():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
fig.clf()
|
||||
@@ -80,7 +80,7 @@ def test_curvelinear3():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['curvelinear4'],
|
||||
- extensions=['png'], style='default', tol=0.01)
|
||||
+ extensions=['png'], style='default', tol=0.055)
|
||||
def test_curvelinear4():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
fig.clf()
|
||||
diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
index a7c637428..e22f4ac3e 100644
|
||||
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
@@ -19,7 +19,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['custom_transform'],
|
||||
- extensions=['png'], style='default', tol=0.03)
|
||||
+ extensions=['png'], style='default', tol=0.035)
|
||||
def test_custom_transform():
|
||||
class MyTransform(Transform):
|
||||
input_dims = 2
|
||||
@@ -91,7 +91,7 @@ def test_custom_transform():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['polar_box'],
|
||||
- extensions=['png'], style='default', tol=0.03)
|
||||
+ extensions=['png'], style='default', tol=0.08)
|
||||
def test_polar_box():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
|
||||
@@ -152,7 +152,7 @@ def test_polar_box():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['axis_direction'],
|
||||
- extensions=['png'], style='default', tol=0.03)
|
||||
+ extensions=['png'], style='default', tol=0.05)
|
||||
def test_axis_direction():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
|
||||
diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
|
||||
index d6e57b9b4..c3ac37a7f 100644
|
||||
--- a/lib/mpl_toolkits/tests/test_mplot3d.py
|
||||
+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
|
||||
@@ -226,7 +226,7 @@ def test_text3d():
|
||||
ax.set_zlabel('Z axis')
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.03)
|
||||
+@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.05)
|
||||
def test_trisurf3d():
|
||||
n_angles = 36
|
||||
n_radii = 8
|
||||
@@ -705,7 +705,7 @@ class TestVoxels(object):
|
||||
@image_comparison(
|
||||
baseline_images=['voxels-xyz'],
|
||||
extensions=['png'],
|
||||
- tol=0.01
|
||||
+ tol=0.02
|
||||
)
|
||||
def test_xyz(self):
|
||||
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
|
||||
--
|
||||
2.20.1
|
||||
|
||||
278
0003-Increase-some-tolerances-for-non-x86-arches.patch
Normal file
278
0003-Increase-some-tolerances-for-non-x86-arches.patch
Normal file
@@ -0,0 +1,278 @@
|
||||
From 8f2ae0000d8f593fc82243b056ecf57c81059a42 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Sat, 31 Mar 2018 00:33:37 -0400
|
||||
Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/tests/test_arrow_patches.py | 4 ++--
|
||||
lib/matplotlib/tests/test_axes.py | 7 ++++---
|
||||
lib/matplotlib/tests/test_backends_interactive.py | 2 +-
|
||||
lib/matplotlib/tests/test_collections.py | 2 +-
|
||||
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
|
||||
lib/matplotlib/tests/test_cycles.py | 6 +++---
|
||||
lib/matplotlib/tests/test_figure.py | 2 +-
|
||||
lib/matplotlib/tests/test_image.py | 2 +-
|
||||
lib/matplotlib/tests/test_legend.py | 6 +++---
|
||||
lib/matplotlib/tests/test_pickle.py | 2 +-
|
||||
lib/matplotlib/tests/test_scale.py | 2 +-
|
||||
lib/matplotlib/tests/test_streamplot.py | 2 +-
|
||||
lib/matplotlib/tests/test_units.py | 4 ++--
|
||||
.../tests/test_axisartist_grid_helper_curvelinear.py | 2 +-
|
||||
14 files changed, 23 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
|
||||
index 44f87c5fe..fb50ae710 100644
|
||||
--- a/lib/matplotlib/tests/test_arrow_patches.py
|
||||
+++ b/lib/matplotlib/tests/test_arrow_patches.py
|
||||
@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'],
|
||||
- remove_text=True, extensions=['png'],
|
||||
+ remove_text=True, extensions=['png'], tol=0.016,
|
||||
savefig_kwarg=dict(dpi=100))
|
||||
def test_fancyarrow_dpi_cor_100dpi():
|
||||
"""
|
||||
@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'],
|
||||
- remove_text=True, extensions=['png'],
|
||||
+ remove_text=True, extensions=['png'], tol=0.019,
|
||||
savefig_kwarg=dict(dpi=200))
|
||||
def test_fancyarrow_dpi_cor_200dpi():
|
||||
"""
|
||||
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
|
||||
index dde856669..de1632fc4 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -389,7 +389,7 @@ def test_annotate_default_arrow():
|
||||
assert ann.arrow_patch is not None
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['polar_axes'], style='default')
|
||||
+@image_comparison(baseline_images=['polar_axes'], style='default', tol=0.01)
|
||||
def test_polar_annotations():
|
||||
# you can specify the xypoint and the xytext in different
|
||||
# positions and coordinate systems, and optionally turn on a
|
||||
@@ -3264,7 +3264,8 @@ def test_vertex_markers():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['vline_hline_zorder',
|
||||
- 'errorbar_zorder'])
|
||||
+ 'errorbar_zorder'],
|
||||
+ tol=0.02)
|
||||
def test_eb_line_zorder():
|
||||
x = list(xrange(10))
|
||||
|
||||
@@ -4997,7 +4998,7 @@ def test_title_location_roundtrip():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=["loglog"], remove_text=True,
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.009)
|
||||
def test_loglog():
|
||||
fig, ax = plt.subplots()
|
||||
x = np.arange(1, 11)
|
||||
diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py
|
||||
index 8cd4585bf..29b2c4b46 100644
|
||||
--- a/lib/matplotlib/tests/test_backends_interactive.py
|
||||
+++ b/lib/matplotlib/tests/test_backends_interactive.py
|
||||
@@ -57,4 +57,4 @@ def test_backend(backend):
|
||||
environ["MPLBACKEND"] = backend
|
||||
proc = Popen([sys.executable, "-c", _test_script], env=environ)
|
||||
# Empirically, 1s is not enough on Travis.
|
||||
- assert proc.wait(timeout=10) == 0
|
||||
+ assert proc.wait(timeout=30) == 0
|
||||
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
|
||||
index 291647d17..6b623ef52 100644
|
||||
--- a/lib/matplotlib/tests/test_collections.py
|
||||
+++ b/lib/matplotlib/tests/test_collections.py
|
||||
@@ -443,7 +443,7 @@ def test_barb_limits():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['EllipseCollection_test_image'],
|
||||
- extensions=['png'],
|
||||
+ extensions=['png'], tol=0.012,
|
||||
remove_text=True)
|
||||
def test_EllipseCollection():
|
||||
# Test basic functionality
|
||||
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
index fcf633a08..725365d2e 100644
|
||||
--- a/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
@@ -222,7 +222,7 @@ def test_constrained_layout9():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['constrained_layout10'],
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.01)
|
||||
def test_constrained_layout10():
|
||||
'Test for handling legend outside axis'
|
||||
fig, axs = plt.subplots(2, 2, constrained_layout=True)
|
||||
diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
|
||||
index dfa0f7c79..ac605c8ab 100644
|
||||
--- a/lib/matplotlib/tests/test_cycles.py
|
||||
+++ b/lib/matplotlib/tests/test_cycles.py
|
||||
@@ -10,7 +10,7 @@ from cycler import cycler
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['color_cycle_basic'], remove_text=True,
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.008)
|
||||
def test_colorcycle_basic():
|
||||
fig, ax = plt.subplots()
|
||||
ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
|
||||
@@ -27,7 +27,7 @@ def test_colorcycle_basic():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
|
||||
- remove_text=True, extensions=['png'])
|
||||
+ remove_text=True, extensions=['png'], tol=0.008)
|
||||
def test_marker_cycle():
|
||||
fig, ax = plt.subplots()
|
||||
ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
|
||||
@@ -60,7 +60,7 @@ def test_marker_cycle():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
|
||||
- extensions=['png'])
|
||||
+ extensions=['png'], tol=0.009)
|
||||
def test_linestylecycle_basic():
|
||||
fig, ax = plt.subplots()
|
||||
ax.set_prop_cycle(cycler('ls', ['-', '--', ':']))
|
||||
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
|
||||
index 69752e17d..e7c57d470 100644
|
||||
--- a/lib/matplotlib/tests/test_figure.py
|
||||
+++ b/lib/matplotlib/tests/test_figure.py
|
||||
@@ -14,7 +14,7 @@ import numpy as np
|
||||
import pytest
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['figure_align_labels'])
|
||||
+@image_comparison(baseline_images=['figure_align_labels'], tol=0.01)
|
||||
def test_align_labels():
|
||||
# Check the figure.align_labels() command
|
||||
fig = plt.figure(tight_layout=True)
|
||||
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
|
||||
index c8a23347f..afb36587c 100644
|
||||
--- a/lib/matplotlib/tests/test_image.py
|
||||
+++ b/lib/matplotlib/tests/test_image.py
|
||||
@@ -761,7 +761,7 @@ def test_imshow_endianess():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['imshow_masked_interpolation'],
|
||||
- remove_text=True, style='mpl20')
|
||||
+ remove_text=True, style='mpl20', tol=0.006)
|
||||
def test_imshow_masked_interpolation():
|
||||
|
||||
cm = copy(plt.get_cmap('viridis'))
|
||||
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
|
||||
index 55b8adc77..1784ff966 100644
|
||||
--- a/lib/matplotlib/tests/test_legend.py
|
||||
+++ b/lib/matplotlib/tests/test_legend.py
|
||||
@@ -145,7 +145,7 @@ def test_multiple_keys():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['rgba_alpha'],
|
||||
- extensions=['png'], remove_text=True)
|
||||
+ extensions=['png'], remove_text=True, tol=0.007)
|
||||
def test_alpha_rgba():
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
@@ -156,7 +156,7 @@ def test_alpha_rgba():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['rcparam_alpha'],
|
||||
- extensions=['png'], remove_text=True)
|
||||
+ extensions=['png'], remove_text=True, tol=0.007)
|
||||
def test_alpha_rcparam():
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
@@ -183,7 +183,7 @@ def test_fancy():
|
||||
ncol=2, shadow=True, title="My legend", numpoints=1)
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['framealpha'], remove_text=True)
|
||||
+@image_comparison(baseline_images=['framealpha'], remove_text=True, tol=0.018)
|
||||
def test_framealpha():
|
||||
x = np.linspace(1, 100, 100)
|
||||
y = x
|
||||
diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
|
||||
index 89a5a512e..99051dee7 100644
|
||||
--- a/lib/matplotlib/tests/test_pickle.py
|
||||
+++ b/lib/matplotlib/tests/test_pickle.py
|
||||
@@ -42,7 +42,7 @@ def test_simple():
|
||||
|
||||
@image_comparison(baseline_images=['multi_pickle'],
|
||||
extensions=['png'], remove_text=True,
|
||||
- style='mpl20')
|
||||
+ style='mpl20', tol=0.004)
|
||||
def test_complete():
|
||||
fig = plt.figure('Figure with a label?', figsize=(10, 6))
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py
|
||||
index dd5b18182..ebebb0525 100644
|
||||
--- a/lib/matplotlib/tests/test_scale.py
|
||||
+++ b/lib/matplotlib/tests/test_scale.py
|
||||
@@ -96,7 +96,7 @@ def test_logscale_transform_repr():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True,
|
||||
- extensions=['png'], style='mpl20')
|
||||
+ extensions=['png'], style='mpl20', tol=0.008)
|
||||
def test_logscale_nonpos_values():
|
||||
np.random.seed(19680801)
|
||||
xs = np.random.normal(size=int(1e3))
|
||||
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
|
||||
index 4f70ce861..4e52ed0c4 100644
|
||||
--- a/lib/matplotlib/tests/test_streamplot.py
|
||||
+++ b/lib/matplotlib/tests/test_streamplot.py
|
||||
@@ -48,7 +48,7 @@ def test_colormap():
|
||||
plt.colorbar()
|
||||
|
||||
|
||||
-@image_comparison(baseline_images=['streamplot_linewidth'])
|
||||
+@image_comparison(baseline_images=['streamplot_linewidth'], tol=0.002)
|
||||
def test_linewidth():
|
||||
X, Y, U, V = velocity_field()
|
||||
speed = np.sqrt(U*U + V*V)
|
||||
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
|
||||
index 65c8da7ea..c69d1d531 100644
|
||||
--- a/lib/matplotlib/tests/test_units.py
|
||||
+++ b/lib/matplotlib/tests/test_units.py
|
||||
@@ -43,7 +43,7 @@ class Quantity(object):
|
||||
|
||||
# Tests that the conversion machinery works properly for classes that
|
||||
# work as a facade over numpy arrays (like pint)
|
||||
-@image_comparison(baseline_images=['plot_pint'],
|
||||
+@image_comparison(baseline_images=['plot_pint'], tol=0.003,
|
||||
extensions=['png'], remove_text=False, style='mpl20')
|
||||
def test_numpy_facade():
|
||||
# Create an instance of the conversion interface and
|
||||
@@ -87,7 +87,7 @@ def test_numpy_facade():
|
||||
|
||||
|
||||
# Tests gh-8908
|
||||
-@image_comparison(baseline_images=['plot_masked_units'],
|
||||
+@image_comparison(baseline_images=['plot_masked_units'], tol=0.007,
|
||||
extensions=['png'], remove_text=True, style='mpl20')
|
||||
def test_plot_masked_units():
|
||||
data = np.linspace(-5, 5)
|
||||
diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
index a7c637428..8fc5b25b1 100644
|
||||
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
|
||||
@@ -91,7 +91,7 @@ def test_custom_transform():
|
||||
|
||||
|
||||
@image_comparison(baseline_images=['polar_box'],
|
||||
- extensions=['png'], style='default', tol=0.03)
|
||||
+ extensions=['png'], style='default', tol=0.04)
|
||||
def test_polar_box():
|
||||
fig = plt.figure(figsize=(5, 5))
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
version=$1
|
||||
|
||||
[ -z $version ] && exit 1
|
||||
|
||||
dir=matplotlib-${version}
|
||||
file=matplotlib-${version}.tar.gz
|
||||
result=matplotlib-${version}-without-gpc.tar.gz
|
||||
|
||||
wget -vc http://downloads.sourceforge.net/matplotlib/$file
|
||||
|
||||
rm -rf matplotlib-${version}
|
||||
tar xzf $file
|
||||
|
||||
rm matplotlib-${version}/agg24/include/agg_conv_gpc.h
|
||||
|
||||
rm -f $result
|
||||
tar czf $result $dir
|
||||
@@ -1,82 +0,0 @@
|
||||
diff -up matplotlib-1.0.1/MANIFEST.in.noagg matplotlib-1.0.1/MANIFEST.in
|
||||
--- matplotlib-1.0.1/MANIFEST.in.noagg 2010-07-06 19:41:55.000000000 -0600
|
||||
+++ matplotlib-1.0.1/MANIFEST.in 2011-05-20 15:45:38.337580769 -0600
|
||||
@@ -18,6 +18,5 @@ recursive-include examples *
|
||||
recursive-include doc *
|
||||
recursive-include src *.cpp *.c *.h *.m
|
||||
recursive-include CXX *.cxx *.hxx *.c *.h
|
||||
-recursive-include agg24 *
|
||||
recursive-include lib *
|
||||
recursive-include ttconv *.cpp *.h
|
||||
diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py
|
||||
--- matplotlib-1.0.1/setupext.py.noagg 2010-07-06 19:41:55.000000000 -0600
|
||||
+++ matplotlib-1.0.1/setupext.py 2011-05-20 16:11:56.977764688 -0600
|
||||
@@ -104,7 +104,6 @@ BUILT_GDK = False
|
||||
BUILT_PATH = False
|
||||
BUILT_TRI = False
|
||||
|
||||
-AGG_VERSION = 'agg24'
|
||||
TCL_TK_CACHE = None
|
||||
|
||||
# for nonstandard installation/build with --prefix variable
|
||||
@@ -551,7 +550,8 @@ def add_agg_flags(module):
|
||||
# before adding the freetype flags since -z comes later
|
||||
add_base_flags(module)
|
||||
add_numpy_flags(module)
|
||||
- module.include_dirs.extend(['src', '%s/include'%AGG_VERSION, '.'])
|
||||
+ module.include_dirs.extend(['src', '/usr/include/agg2', '.'])
|
||||
+ module.libraries.append('agg')
|
||||
|
||||
# put these later for correct link order
|
||||
module.libraries.extend(std_libs)
|
||||
@@ -1251,17 +1251,7 @@ def build_agg(ext_modules, packages):
|
||||
global BUILT_AGG
|
||||
if BUILT_AGG: return # only build it if you you haven't already
|
||||
|
||||
- agg = (
|
||||
- 'agg_trans_affine.cpp',
|
||||
- 'agg_bezier_arc.cpp',
|
||||
- 'agg_curves.cpp',
|
||||
- 'agg_vcgen_dash.cpp',
|
||||
- 'agg_vcgen_stroke.cpp',
|
||||
- 'agg_image_filters.cpp',
|
||||
- )
|
||||
-
|
||||
- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg]
|
||||
- deps.extend(['src/mplutils.cpp', 'src/agg_py_transforms.cpp'])
|
||||
+ deps = ['src/mplutils.cpp', 'src/agg_py_transforms.cpp']
|
||||
deps.extend(glob.glob('CXX/*.cxx'))
|
||||
deps.extend(glob.glob('CXX/*.c'))
|
||||
temp_copy('src/_backend_agg.cpp', 'src/backend_agg.cpp')
|
||||
@@ -1284,15 +1274,7 @@ def build_path(ext_modules, packages):
|
||||
global BUILT_PATH
|
||||
if BUILT_PATH: return # only build it if you you haven't already
|
||||
|
||||
- agg = (
|
||||
- 'agg_curves.cpp',
|
||||
- 'agg_bezier_arc.cpp',
|
||||
- 'agg_trans_affine.cpp',
|
||||
- 'agg_vcgen_stroke.cpp',
|
||||
- )
|
||||
-
|
||||
- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg]
|
||||
- deps.extend(glob.glob('CXX/*.cxx'))
|
||||
+ deps = glob.glob('CXX/*.cxx')
|
||||
deps.extend(glob.glob('CXX/*.c'))
|
||||
|
||||
temp_copy('src/_path.cpp', 'src/path.cpp')
|
||||
@@ -1317,14 +1299,8 @@ def build_image(ext_modules, packages):
|
||||
global BUILT_IMAGE
|
||||
if BUILT_IMAGE: return # only build it if you you haven't already
|
||||
|
||||
- agg = ('agg_trans_affine.cpp',
|
||||
- 'agg_image_filters.cpp',
|
||||
- 'agg_bezier_arc.cpp',
|
||||
- )
|
||||
-
|
||||
temp_copy('src/_image.cpp', 'src/image.cpp')
|
||||
deps = ['src/image.cpp', 'src/mplutils.cpp']
|
||||
- deps.extend(['%s/src/%s'%(AGG_VERSION,name) for name in agg])
|
||||
deps.extend(glob.glob('CXX/*.cxx'))
|
||||
deps.extend(glob.glob('CXX/*.c'))
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -uNr matplotlib-1.0.1.orig/lib/matplotlib/sphinxext/plot_directive.py matplotlib-1.0.1/lib/matplotlib/sphinxext/plot_directive.py
|
||||
--- matplotlib-1.0.1.orig/lib/matplotlib/sphinxext/plot_directive.py 2011-01-23 05:42:08.000000000 +0900
|
||||
+++ matplotlib-1.0.1/lib/matplotlib/sphinxext/plot_directive.py 2011-01-23 05:44:48.000000000 +0900
|
||||
@@ -346,7 +346,7 @@
|
||||
del options['nofigs']
|
||||
|
||||
formats = setup.config.plot_formats
|
||||
- if type(formats) == str:
|
||||
+ if type(formats) == str or type(formats) == unicode:
|
||||
formats = eval(formats)
|
||||
|
||||
fname = os.path.basename(plot_path)
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -up matplotlib-1.0.1/setupext.py.tkinter matplotlib-1.0.1/setupext.py
|
||||
--- matplotlib-1.0.1/setupext.py.tkinter 2011-10-31 14:58:44.000000000 +0100
|
||||
+++ matplotlib-1.0.1/setupext.py 2011-10-31 14:59:14.000000000 +0100
|
||||
@@ -829,7 +829,7 @@ def check_for_tk():
|
||||
|
||||
if gotit:
|
||||
print_status("Tkinter", "Tkinter: %s, Tk: %s, Tcl: %s" %
|
||||
- (Tkinter.__version__.split()[-2], Tkinter.TkVersion, Tkinter.TclVersion))
|
||||
+ (Tkinter.__version__, Tkinter.TkVersion, Tkinter.TclVersion))
|
||||
else:
|
||||
print_status("Tkinter", "no")
|
||||
if explanation is not None:
|
||||
File diff suppressed because it is too large
Load Diff
82
setup.cfg
82
setup.cfg
@@ -1,81 +1,7 @@
|
||||
# Rename this file to setup.cfg to modify matplotlib's
|
||||
# build options.
|
||||
|
||||
[egg_info]
|
||||
tag_svn_revision = 1
|
||||
|
||||
[status]
|
||||
# To suppress display of the dependencies and their versions
|
||||
# at the top of the build log, uncomment the following line:
|
||||
#suppress = True
|
||||
#
|
||||
# Uncomment to insert lots of diagnostic prints in extension code
|
||||
#verbose = True
|
||||
|
||||
[provide_packages]
|
||||
# By default, matplotlib checks for a few dependencies and
|
||||
# installs them if missing. This feature can be turned off
|
||||
# by uncommenting the following lines. Acceptible values are:
|
||||
# True: install, overwrite an existing installation
|
||||
# False: do not install
|
||||
# auto: install only if the package is unavailable. This
|
||||
# is the default behavior
|
||||
#
|
||||
## Date/timezone support:
|
||||
#pytz = False
|
||||
#dateutil = False
|
||||
#
|
||||
## Experimental config package support:
|
||||
enthought.traits = False
|
||||
configobj = False
|
||||
|
||||
[gui_support]
|
||||
# Matplotlib supports multiple GUI toolkits, including Cocoa,
|
||||
# GTK, Fltk, Qt, Qt4, Tk, and WX. Support for many of these
|
||||
# toolkits requires AGG, the Anti-Grain Geometry library, which
|
||||
# is provided by matplotlib and built by default.
|
||||
#
|
||||
# Some backends are written in pure Python, and others require
|
||||
# extension code to be compiled. By default, matplotlib checks
|
||||
# for these GUI toolkits during installation and, if present,
|
||||
# compiles the required extensions to support the toolkit. GTK
|
||||
# support requires the GTK runtime environment and PyGTK. Wx
|
||||
# support requires wxWidgets and wxPython. Tk support requires
|
||||
# Tk and Tkinter. The other GUI toolkits do not require any
|
||||
# extension code, and can be used as long as the libraries are
|
||||
# installed on your system.
|
||||
#
|
||||
# You can uncomment any the following lines if you know you do
|
||||
# not want to use the GUI toolkit. Acceptible values are:
|
||||
# True: build the extension. Exits with a warning if the
|
||||
# required dependencies are not available
|
||||
# False: do not build the extension
|
||||
# auto: build if the required dependencies are available,
|
||||
# otherwise skip silently. This is the default
|
||||
# behavior
|
||||
#
|
||||
gtk = True
|
||||
gtkagg = True
|
||||
tkagg = True
|
||||
wxagg = True
|
||||
[packages]
|
||||
tests = True
|
||||
toolkits = True
|
||||
toolkits_tests = True
|
||||
|
||||
[rc_options]
|
||||
# User-configurable options
|
||||
#
|
||||
# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg,
|
||||
# GTKCairo, FltkAgg, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg.
|
||||
#
|
||||
# The Agg, Ps, Pdf and SVG backends do not require external
|
||||
# dependencies. Do not choose GTK, GTKAgg, GTKCairo, TkAgg or WXAgg if
|
||||
# you have disabled the relevent extension modules. Agg will be used
|
||||
# by default.
|
||||
#
|
||||
backend = GTKAgg
|
||||
#
|
||||
# The numerix module was historically used to provide
|
||||
# compatibility between the Numeric, numarray, and NumPy array
|
||||
# packages. Now that NumPy has emerge as the universal array
|
||||
# package for python, numerix is not really necessary and is
|
||||
# maintained to provide backward compatibility. Do not change
|
||||
# this unless you have a compelling reason to do so.
|
||||
numerix = numpy
|
||||
|
||||
5
sources
5
sources
@@ -1,2 +1,3 @@
|
||||
b4d61df73ffa715f5009063a4ba78745 matplotlib-1.0.1-without-gpc.tar.gz
|
||||
24ee8b490f707a60ed5aaf7259f6bc40 mpl_sampledata-1.0.1.tar.gz
|
||||
SHA512 (matplotlib-2.2.4.tar.gz) = c4ceb75314c303d310410683180dbe950223c7f054fc19739c49eaede46f183075ea402e7305843552fae75af3c55560f9e5c5549994cf5fce34f07ad6f3c720
|
||||
SHA512 (matplotlib-2.2.3-with-freetype-2.9.1.tar.gz) = 00f6d4eeab6d73108129a5ccbaccda37c2e8cc684efeeb03c492a96a2071357a32a624ebfef2770c8c205a3741ef8d947f117351d90d25c4c7b4b8b6b84db556
|
||||
SHA512 (matplotlib-2.2.3-with-freetype-2.8.tar.gz) = 7f11a0589f2ab5fcbdee0da0d4fa003c62b9e882fbae22a6bc725f791f3ea058b33321a70a5cf1858f494aa1ebb8b3e686c56ff73e6174fb980e159331bd0a0d
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
diff -up matplotlib-1.0.1/CHANGELOG.png15 matplotlib-1.0.1/CHANGELOG
|
||||
diff -up matplotlib-1.0.1/doc/users/installing.rst.png15 matplotlib-1.0.1/doc/users/installing.rst
|
||||
--- matplotlib-1.0.1/doc/users/installing.rst.png15 2010-07-06 21:41:46.000000000 -0400
|
||||
+++ matplotlib-1.0.1/doc/users/installing.rst 2011-12-06 16:29:05.824621532 -0500
|
||||
@@ -138,7 +138,7 @@ libraries themselves.
|
||||
array support for python (`download
|
||||
<http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103>`__)
|
||||
|
||||
-libpng 1.1 (or later)
|
||||
+libpng 1.2 (or later)
|
||||
library for loading and saving :term:`PNG` files (`download
|
||||
<http://www.libpng.org/pub/png/libpng.html>`__). libpng requires
|
||||
zlib. If you are a windows user, you can ignore this since we
|
||||
diff -up matplotlib-1.0.1/src/_png.cpp.png15 matplotlib-1.0.1/src/_png.cpp
|
||||
--- matplotlib-1.0.1/src/_png.cpp.png15 2010-10-12 12:14:42.000000000 -0400
|
||||
+++ matplotlib-1.0.1/src/_png.cpp 2011-12-06 16:29:05.825621532 -0500
|
||||
@@ -350,10 +350,10 @@ _png_module::read_png(const Py::Tuple& a
|
||||
png_set_sig_bytes(png_ptr, 8);
|
||||
png_read_info(png_ptr, info_ptr);
|
||||
|
||||
- png_uint_32 width = info_ptr->width;
|
||||
- png_uint_32 height = info_ptr->height;
|
||||
+ png_uint_32 width = png_get_image_width(png_ptr, info_ptr);
|
||||
+ png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
|
||||
|
||||
- int bit_depth = info_ptr->bit_depth;
|
||||
+ int bit_depth = png_get_bit_depth(png_ptr, info_ptr);
|
||||
|
||||
// Unpack 1, 2, and 4-bit images
|
||||
if (bit_depth < 8)
|
||||
@@ -361,7 +361,7 @@ _png_module::read_png(const Py::Tuple& a
|
||||
|
||||
// If sig bits are set, shift data
|
||||
png_color_8p sig_bit;
|
||||
- if ((info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) &&
|
||||
+ if ((png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE) &&
|
||||
png_get_sBIT(png_ptr, info_ptr, &sig_bit))
|
||||
{
|
||||
png_set_shift(png_ptr, sig_bit);
|
||||
@@ -374,13 +374,13 @@ _png_module::read_png(const Py::Tuple& a
|
||||
}
|
||||
|
||||
// Convert palletes to full RGB
|
||||
- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
|
||||
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
png_set_palette_to_rgb(png_ptr);
|
||||
}
|
||||
|
||||
// If there's an alpha channel convert gray to RGB
|
||||
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
|
||||
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
|
||||
{
|
||||
png_set_gray_to_rgb(png_ptr);
|
||||
}
|
||||
@@ -408,11 +408,11 @@ _png_module::read_png(const Py::Tuple& a
|
||||
npy_intp dimensions[3];
|
||||
dimensions[0] = height; //numrows
|
||||
dimensions[1] = width; //numcols
|
||||
- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
|
||||
+ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA)
|
||||
{
|
||||
dimensions[2] = 4; //RGBA images
|
||||
}
|
||||
- else if (info_ptr->color_type & PNG_COLOR_MASK_COLOR)
|
||||
+ else if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_COLOR)
|
||||
{
|
||||
dimensions[2] = 3; //RGB images
|
||||
}
|
||||
@@ -421,7 +421,8 @@ _png_module::read_png(const Py::Tuple& a
|
||||
dimensions[2] = 1; //Greyscale images
|
||||
}
|
||||
//For gray, return an x by y array, not an x by y by 1
|
||||
- int num_dims = (info_ptr->color_type & PNG_COLOR_MASK_COLOR) ? 3 : 2;
|
||||
+ int num_dims = (png_get_color_type(png_ptr, info_ptr)
|
||||
+ & PNG_COLOR_MASK_COLOR) ? 3 : 2;
|
||||
|
||||
double max_value = (1 << ((bit_depth < 8) ? 8 : bit_depth)) - 1;
|
||||
PyArrayObject *A = (PyArrayObject *) PyArray_SimpleNew(
|
||||
Reference in New Issue
Block a user