Compare commits

..

2 Commits
f30 ... f23

Author SHA1 Message Date
Thomas Spura
697ce0c1f3 Add missing requires of dvipng to python3-matplotlib (#1270202) 2016-04-18 09:27:28 +02:00
Thomas Spura
53aef6c52e Remove spurious Provides: bundled(agg) 2016-04-04 13:28:22 +02:00
18 changed files with 599 additions and 1700 deletions

30
.gitignore vendored
View File

@@ -6,33 +6,3 @@ matplotlib-1.0.0-without-gpc.tar.gz
/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-3.0.0rc1.tar.gz
/matplotlib-3.0.0rc1-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.0rc2.tar.gz
/matplotlib-3.0.0rc2-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.0.tar.gz
/matplotlib-3.0.0-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.1.tar.gz
/matplotlib-3.0.1-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.2.tar.gz
/matplotlib-3.0.3.tar.gz

View File

@@ -1,43 +0,0 @@
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

View File

@@ -1,113 +0,0 @@
From fede0d8731c1301720f16e2d46df8275e8ecf9e8 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 | 46 -------------------
3 files changed, 6 insertions(+), 52 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 94c8106d3..42ae7e294 100644
--- a/setup.py
+++ b/setup.py
@@ -28,8 +28,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.
@@ -121,50 +119,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.
-class sdist_with_jquery(cmdclass['sdist']):
- def make_release_tree(self, base_dir, files):
- super(sdist_with_jquery, self).make_release_tree(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):
- super(install_lib_with_jquery, self).run()
- _download_jquery_to(
- os.path.join(self.install_dir, "matplotlib/backends/web_backend/"))
-
-
-class develop_with_jquery(DevelopCommand):
- def run(self):
- super(develop_with_jquery, self).run()
- _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

View File

@@ -1,101 +0,0 @@
From eeeee74ff61646d321500490bbb9dbbcde424e14 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 | 18 +++---------------
lib/matplotlib/tests/test_rcparams.py | 22 ++++++++++++++++------
2 files changed, 19 insertions(+), 21 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index 091cb6178..5648392ce 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -664,18 +664,7 @@ def _get_data_path():
return path
def get_candidate_paths():
- yield Path(__file__).with_name('mpl-data')
- # setuptools' namespace_packages may highjack this init file
- # so need to try something known to be in Matplotlib, not basemap.
- import matplotlib.afm
- yield Path(matplotlib.afm.__file__).with_name('mpl-data')
- # py2exe zips pure python, so still need special check.
- if getattr(sys, 'frozen', None):
- yield Path(sys.executable).with_name('mpl-data')
- # Try again assuming we need to step up one more directory.
- yield Path(sys.executable).parent.with_name('mpl-data')
- # Try again assuming sys.path[0] is a dir not a exe.
- yield Path(sys.path[0]) / 'mpl-data'
+ yield Path('/usr/share/matplotlib/mpl-data')
for path in get_candidate_paths():
if path.is_dir():
@@ -727,8 +716,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():
@@ -741,7 +729,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 7eec4d421..4c74619f6 100644
--- a/lib/matplotlib/tests/test_rcparams.py
+++ b/lib/matplotlib/tests/test_rcparams.py
@@ -451,11 +451,22 @@ 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.
deprecated = {*mpl._all_deprecated, *mpl._deprecated_remain_as_none}
- 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():
@@ -478,11 +489,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

View File

@@ -1,40 +0,0 @@
From 64c0ea2ea7986d6cb05b41d37226f510ffe41b76 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 | 2 +-
lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index 17c0d1967..e261513df 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -61,7 +61,7 @@ def test_linewidth():
@image_comparison(baseline_images=['streamplot_masks_and_nans'],
- tol=0.04 if on_win else 0,
+ tol=0.04 if on_win else 0.01,
remove_text=True, style='mpl20')
def test_masks_and_nans():
X, Y, U, V = velocity_field()
diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
index ddbf7e9f7..86e49cc45 100644
--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
@@ -361,7 +361,7 @@ def test_zooming_with_inverted_axes():
@image_comparison(baseline_images=['anchored_direction_arrows'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.02,
extensions=['png'])
def test_anchored_direction_arrows():
fig, ax = plt.subplots()
--
2.20.1

View File

@@ -1,658 +0,0 @@
From 4b3c9145a4c247197a40c5314151566e437f7bbe 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 | 49 ++++++++++---------
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 | 8 +--
lib/matplotlib/tests/test_cycles.py | 3 --
lib/matplotlib/tests/test_figure.py | 3 +-
lib/matplotlib/tests/test_image.py | 2 +-
lib/matplotlib/tests/test_legend.py | 5 +-
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 | 2 +-
lib/matplotlib/tests/test_transforms.py | 2 +-
lib/matplotlib/tests/test_units.py | 1 -
.../tests/test_axisartist_floating_axes.py | 4 +-
...test_axisartist_grid_helper_curvelinear.py | 6 +--
lib/mpl_toolkits/tests/test_mplot3d.py | 4 +-
22 files changed, 59 insertions(+), 63 deletions(-)
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
index 85b8d5e87..f3fc47c68 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -338,7 +338,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 283db9abe..2ae11142c 100644
--- a/lib/matplotlib/tests/test_artist.py
+++ b/lib/matplotlib/tests/test_artist.py
@@ -94,7 +94,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 c0e0e560d..6e88c167c 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -554,7 +554,7 @@ def test_single_point():
@image_comparison(baseline_images=['single_date'], extensions=['png'],
- style='mpl20')
+ style='mpl20', tol=1.97)
def test_single_date():
time1 = [721964.0]
data1 = [-65.54]
@@ -1028,7 +1028,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])
@@ -1110,7 +1110,8 @@ def test_pcolormesh():
@image_comparison(baseline_images=['pcolormesh_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], remove_text=False, style='mpl20',
+ tol=0.19)
def test_pcolormesh_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -1136,7 +1137,8 @@ def test_pcolormesh_datetime_axis():
@image_comparison(baseline_images=['pcolor_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], remove_text=False, style='mpl20',
+ tol=0.19)
def test_pcolor_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -1193,7 +1195,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
@@ -2540,7 +2542,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)
@@ -2558,7 +2560,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))
@@ -2569,7 +2571,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))
@@ -2580,7 +2582,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))
@@ -2591,7 +2593,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))
@@ -2602,7 +2604,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))
@@ -2613,7 +2615,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))
@@ -2624,7 +2626,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))
@@ -2635,7 +2637,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))
@@ -2646,7 +2648,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))
@@ -2657,7 +2659,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))
@@ -2668,7 +2670,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))
@@ -2679,7 +2681,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))
@@ -2690,7 +2692,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))
@@ -3369,8 +3371,7 @@ def test_vertex_markers():
@image_comparison(baseline_images=['vline_hline_zorder',
- 'errorbar_zorder'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ 'errorbar_zorder'])
def test_eb_line_zorder():
x = list(range(10))
@@ -4050,7 +4051,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
@@ -4943,7 +4944,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 = {
@@ -5462,7 +5463,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
UTC = datetime.timezone.utc
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
index 6812ee1ad..5e5f19aac 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -466,7 +466,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 1c358c09a..21019be34 100644
--- a/lib/matplotlib/tests/test_colorbar.py
+++ b/lib/matplotlib/tests/test_colorbar.py
@@ -94,7 +94,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.
@@ -104,7 +104,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.
@@ -118,7 +118,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]
@@ -172,7 +172,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)
@@ -231,7 +231,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 de8161ea7..a1f307abe 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -246,7 +246,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 c1f27b9ef..149afadb9 100644
--- a/lib/matplotlib/tests/test_contour.py
+++ b/lib/matplotlib/tests/test_contour.py
@@ -227,7 +227,8 @@ def test_given_colors_levels_and_extends():
@image_comparison(baseline_images=['contour_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], remove_text=False, style='mpl20',
+ tol=0.18)
def test_contour_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -253,7 +254,8 @@ def test_contour_datetime_axis():
@image_comparison(baseline_images=['contour_test_label_transforms'],
- extensions=['png'], remove_text=True, style='mpl20')
+ extensions=['png'], remove_text=True, style='mpl20',
+ tol=1.38)
def test_labels():
# Adapted from pylab_examples example code: contour_demo.py
# see issues #2475, #2843, and #2818 for explanation
@@ -284,7 +286,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_cycles.py b/lib/matplotlib/tests/test_cycles.py
index 8184d3eee..5a067f8e0 100644
--- a/lib/matplotlib/tests/test_cycles.py
+++ b/lib/matplotlib/tests/test_cycles.py
@@ -10,7 +10,6 @@ from cycler import cycler
@image_comparison(baseline_images=['color_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'])
def test_colorcycle_basic():
fig, ax = plt.subplots()
@@ -28,7 +27,6 @@ def test_colorcycle_basic():
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
remove_text=True, extensions=['png'])
def test_marker_cycle():
fig, ax = plt.subplots()
@@ -62,7 +60,6 @@ def test_marker_cycle():
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'])
def test_linestylecycle_basic():
fig, ax = plt.subplots()
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index 4c688eb05..826b44869 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -13,8 +13,7 @@ import numpy as np
import pytest
-@image_comparison(baseline_images=['figure_align_labels'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(baseline_images=['figure_align_labels'])
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 c0ffc061a..ace55c2f5 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -766,7 +766,7 @@ def test_imshow_endianess():
@image_comparison(baseline_images=['imshow_masked_interpolation'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.25,
remove_text=True, style='mpl20')
def test_imshow_masked_interpolation():
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
index d508d6f41..69286069d 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -108,7 +108,6 @@ def test_multiple_keys():
@image_comparison(baseline_images=['rgba_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=True)
def test_alpha_rgba():
import matplotlib.pyplot as plt
@@ -120,7 +119,6 @@ def test_alpha_rgba():
@image_comparison(baseline_images=['rcparam_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=True)
def test_alpha_rcparam():
import matplotlib.pyplot as plt
@@ -148,8 +146,7 @@ def test_fancy():
ncol=2, shadow=True, title="My legend", numpoints=1)
-@image_comparison(baseline_images=['framealpha'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(baseline_images=['framealpha'], remove_text=True)
def test_framealpha():
x = np.linspace(1, 100, 100)
y = x
diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
index a05c8b3c8..b6f11281f 100644
--- a/lib/matplotlib/tests/test_mathtext.py
+++ b/lib/matplotlib/tests/test_mathtext.py
@@ -169,7 +169,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))
@@ -183,7 +183,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 89a77e258..2e5c16f75 100644
--- a/lib/matplotlib/tests/test_patches.py
+++ b/lib/matplotlib/tests/test_patches.py
@@ -260,9 +260,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 6e80d8d98..0f158eb9e 100644
--- a/lib/matplotlib/tests/test_patheffects.py
+++ b/lib/matplotlib/tests/test_patheffects.py
@@ -119,7 +119,7 @@ def test_SimplePatchShadow_offset():
assert pe._offset == (4, 5)
-@image_comparison(baseline_images=['collection'], tol=0.02, style='mpl20')
+@image_comparison(baseline_images=['collection'], tol=0.084, style='mpl20')
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 9cb806c6f..c0ccf5f8c 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -44,7 +44,7 @@ def test_simple():
@image_comparison(baseline_images=['multi_pickle'],
extensions=['png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.11,
style='mpl20')
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 4470e02fa..70aa1e718 100644
--- a/lib/matplotlib/tests/test_quiver.py
+++ b/lib/matplotlib/tests/test_quiver.py
@@ -130,7 +130,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 e261513df..907841494 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -40,7 +40,7 @@ def test_startpoints():
@image_comparison(baseline_images=['streamplot_colormap'],
- tol=.04, remove_text=True, style='mpl20')
+ remove_text=True, style='mpl20')
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 6275d5b54..a5c03f0a3 100644
--- a/lib/matplotlib/tests/test_transforms.py
+++ b/lib/matplotlib/tests/test_transforms.py
@@ -70,7 +70,7 @@ def test_external_transform_api():
@image_comparison(baseline_images=['pre_transform_data'],
- tol=0.08, remove_text=True, style='mpl20')
+ tol=0.155, remove_text=True, style='mpl20')
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/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
index fec498af3..fe8f3f383 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -75,7 +75,6 @@ def quantity_converter():
# 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'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=False, style='mpl20')
def test_numpy_facade(quantity_converter):
# Register the class
diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
index 929c0368a..e6e5ca1ff 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
@@ -21,7 +21,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()
@@ -77,7 +77,7 @@ def test_curvelinear3():
@image_comparison(baseline_images=['curvelinear4'],
- extensions=['png'], style='default', tol=0.015)
+ 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 32e1c884d..2b38866c5 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
@@ -17,7 +17,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
@@ -85,7 +85,7 @@ def test_custom_transform():
@image_comparison(baseline_images=['polar_box'],
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
+ tol=0.08,
extensions=['png'], style='default')
def test_polar_box():
fig = plt.figure(figsize=(5, 5))
@@ -147,7 +147,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 bc9c43ec7..48727de52 100644
--- a/lib/mpl_toolkits/tests/test_mplot3d.py
+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
@@ -254,7 +254,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
@@ -733,7 +733,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

View File

@@ -1,289 +0,0 @@
From 179885bd9a442bc171e562a8997abde2824997fa 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 | 6 +++---
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 | 4 ++--
14 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
index f678fbed3..bac0cb802 100644
--- a/lib/matplotlib/tests/test_arrow_patches.py
+++ b/lib/matplotlib/tests/test_arrow_patches.py
@@ -69,7 +69,7 @@ def __prepare_fancyarrow_dpi_cor_test():
@image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'],
remove_text=True, extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.016,
savefig_kwarg=dict(dpi=100))
def test_fancyarrow_dpi_cor_100dpi():
"""
@@ -85,7 +85,7 @@ def test_fancyarrow_dpi_cor_100dpi():
@image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'],
remove_text=True, extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ 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 c0e0e560d..0021bbda4 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -387,7 +387,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
@@ -3370,7 +3370,7 @@ def test_vertex_markers():
@image_comparison(baseline_images=['vline_hline_zorder',
'errorbar_zorder'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.02)
def test_eb_line_zorder():
x = list(range(10))
@@ -5142,7 +5142,7 @@ def test_title_location_roundtrip():
@image_comparison(baseline_images=["loglog"], remove_text=True,
extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ 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 00cbf5db9..33e6fb21a 100644
--- a/lib/matplotlib/tests/test_backends_interactive.py
+++ b/lib/matplotlib/tests/test_backends_interactive.py
@@ -105,7 +105,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start())
plt.show()
"""
-_test_timeout = 10 # Empirically, 1s is not enough on Travis.
+_test_timeout = 30 # Empirically, 1s is not enough on Travis.
@pytest.mark.parametrize("backend", _get_testable_interactive_backends())
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
index 6812ee1ad..582aabb5c 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -442,7 +442,7 @@ def test_barb_limits():
@image_comparison(baseline_images=['EllipseCollection_test_image'],
extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ 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 de8161ea7..2af2d6a42 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -173,7 +173,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 8184d3eee..73b0f216d 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,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
extensions=['png'])
def test_colorcycle_basic():
fig, ax = plt.subplots()
@@ -28,7 +28,7 @@ def test_colorcycle_basic():
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
remove_text=True, extensions=['png'])
def test_marker_cycle():
fig, ax = plt.subplots()
@@ -62,7 +62,7 @@ def test_marker_cycle():
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.009,
extensions=['png'])
def test_linestylecycle_basic():
fig, ax = plt.subplots()
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index 4c688eb05..63f562770 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -14,7 +14,7 @@ import pytest
@image_comparison(baseline_images=['figure_align_labels'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ 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 c0ffc061a..ca15df113 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -766,7 +766,7 @@ def test_imshow_endianess():
@image_comparison(baseline_images=['imshow_masked_interpolation'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.006,
remove_text=True, style='mpl20')
def test_imshow_masked_interpolation():
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
index d508d6f41..9147ef336 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -108,7 +108,7 @@ def test_multiple_keys():
@image_comparison(baseline_images=['rgba_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True)
def test_alpha_rgba():
import matplotlib.pyplot as plt
@@ -120,7 +120,7 @@ def test_alpha_rgba():
@image_comparison(baseline_images=['rcparam_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True)
def test_alpha_rcparam():
import matplotlib.pyplot as plt
@@ -149,7 +149,7 @@ def test_fancy():
@image_comparison(baseline_images=['framealpha'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ 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 9cb806c6f..91774abfd 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -44,7 +44,7 @@ def test_simple():
@image_comparison(baseline_images=['multi_pickle'],
extensions=['png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.004,
style='mpl20')
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 ebe5c4de9..2999b624d 100644
--- a/lib/matplotlib/tests/test_scale.py
+++ b/lib/matplotlib/tests/test_scale.py
@@ -99,7 +99,7 @@ def test_logscale_transform_repr():
@image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
extensions=['png'], style='mpl20')
def test_logscale_nonpos_values():
np.random.seed(19680801)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index e261513df..c8c8faf99 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -49,7 +49,7 @@ def test_colormap():
@image_comparison(baseline_images=['streamplot_linewidth'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.002,
remove_text=True, style='mpl20')
def test_linewidth():
X, Y, U, V = velocity_field()
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
index fec498af3..12a8d8a3e 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -75,7 +75,7 @@ def quantity_converter():
# 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'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.003,
extensions=['png'], remove_text=False, style='mpl20')
def test_numpy_facade(quantity_converter):
# Register the class
@@ -100,7 +100,7 @@ def test_numpy_facade(quantity_converter):
# Tests gh-8908
@image_comparison(baseline_images=['plot_masked_units'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ 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 32e1c884d..741d197b5 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
@@ -17,7 +17,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.04)
def test_custom_transform():
class MyTransform(Transform):
input_dims = 2
@@ -85,7 +85,7 @@ def test_custom_transform():
@image_comparison(baseline_images=['polar_box'],
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
+ tol=0.04,
extensions=['png'], style='default')
def test_polar_box():
fig = plt.figure(figsize=(5, 5))
--
2.20.1

View File

@@ -0,0 +1,29 @@
Description: Fixes the path to search for matplotlibrc file
Forwarded: not-needed
Author: Sandro Tosi <morph@debian.org>
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -658,10 +658,12 @@ def _get_data_path():
raise RuntimeError('Path in environment MATPLOTLIBDATA not a directory')
return path
- 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
@@ -786,7 +788,7 @@ def matplotlib_fname():
home, '.matplotlib', 'matplotlibrc')
return fname
- path = get_data_path() # guaranteed to exist or raise
+ path = '/etc' # guaranteed to exist or raise
fname = os.path.join(path, 'matplotlibrc')
if not os.path.exists(fname):
warnings.warn('Could not find matplotlibrc; using defaults')

View File

@@ -0,0 +1,14 @@
Description: minor glitch in draw_markers() description
Author: Jakub Wilk <jwilk@debian.org>
--- a/doc/api/api_changes.rst
+++ b/doc/api/api_changes.rst
@@ -1143,7 +1143,7 @@ New methods:
* :meth:`draw_markers(self, gc, marker_path, marker_trans, path,
trans, rgbFace)
- <matplotlib.backend_bases.RendererBase.draw_markers`
+ <matplotlib.backend_bases.RendererBase.draw_markers>`
* :meth:`draw_path_collection(self, master_transform, cliprect,
clippath, clippath_trans, paths, all_transforms, offsets,

View File

@@ -0,0 +1,50 @@
Description: don't separate param and its argument with a space
--- a/lib/mpl_toolkits/axes_grid1/axes_divider.py
+++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py
@@ -201,12 +201,12 @@ class Divider(object):
def locate(self, nx, ny, nx1=None, ny1=None, axes=None, renderer=None):
"""
- :param nx, nx1: Integers specifying the column-position of the
+ :param nx,nx1: Integers specifying the column-position of the
cell. When nx1 is None, a single nx-th column is
specified. Otherwise location of columns spanning between nx
to nx1 (but excluding nx1-th column) is specified.
- :param ny, ny1: same as nx and nx1, but for row positions.
+ :param ny,ny1: same as nx and nx1, but for row positions.
"""
figW, figH = self._fig.get_size_inches()
@@ -250,12 +250,12 @@ class Divider(object):
(:class:`mpl_toolkits.axes_grid.axes_divider.AxesLocator`) for
specified cell.
- :param nx, nx1: Integers specifying the column-position of the
+ :param nx,nx1: Integers specifying the column-position of the
cell. When nx1 is None, a single nx-th column is
specified. Otherwise location of columns spanning between nx
to nx1 (but excluding nx1-th column) is specified.
- :param ny, ny1: same as nx and nx1, but for row positions.
+ :param ny,ny1: same as nx and nx1, but for row positions.
"""
return AxesLocator(self, nx, ny, nx1, ny1)
@@ -298,12 +298,12 @@ class AxesLocator(object):
"""
:param axes_divider: An instance of AxesDivider class.
- :param nx, nx1: Integers specifying the column-position of the
+ :param nx,nx1: Integers specifying the column-position of the
cell. When nx1 is None, a single nx-th column is
specified. Otherwise location of columns spanning between nx
to nx1 (but excluding nx1-th column) is is specified.
- :param ny, ny1: same as nx and nx1, but for row positions.
+ :param ny,ny1: same as nx and nx1, but for row positions.
"""
self._axes_divider = axes_divider

View File

@@ -0,0 +1,19 @@
Description: Try to use also StayPuft (a free font) for xkcd
Author: Sandro Tosi <morph@debian.org>
Origin: vendor
Bug: http://bugs.debian.org/720549
Forwarded: not-needed
Last-Update: 2013-10-06
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/lib/matplotlib/pyplot.py
+++ b/lib/matplotlib/pyplot.py
@@ -301,7 +301,7 @@ def xkcd(scale=1, length=100, randomness
from matplotlib import patheffects
context = rc_context()
try:
- rcParams['font.family'] = ['Humor Sans', 'Comic Sans MS']
+ rcParams['font.family'] = ['Humor Sans', 'Comic Sans MS', 'StayPuft']
rcParams['font.size'] = 14.0
rcParams['path.sketch'] = (scale, length, randomness)
rcParams['path.effects'] = [

21
generate-tarball.sh Executable file
View File

@@ -0,0 +1,21 @@
#! /bin/sh
version=$1
[ -z $version ] && exit 1
dir=matplotlib-${version}
file=matplotlib-${version}.tar.gz
file=v${version}.tar.gz
result=matplotlib-${version}-without-extern.tar.xz
test -f $file || wget -v https://github.com/matplotlib/matplotlib/archive/$file
rm -rf matplotlib-${version}
tar xzf $file
rm -vr matplotlib-${version}/extern/qhull
rm -vr matplotlib-${version}/lib/matplotlib/mpl-data/sample_data/lena.*
rm -f $result
tar cJf $result $dir

View File

@@ -0,0 +1,32 @@
From 2e445c2c4f66f1e0de9779a3fd966aaf8d8ed2c5 Mon Sep 17 00:00:00 2001
From: Thomas A Caswell <tcaswell@gmail.com>
Date: Sun, 17 May 2015 23:45:44 -0400
Subject: [PATCH] Merge pull request #4439 from tswsl1989/restrict_dict_gdk
FIX : Import cbook.restrict_dict into backend_gdk
---
lib/matplotlib/backends/backend_gdk.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/matplotlib/backends/backend_gdk.py b/lib/matplotlib/backends/backend_gdk.py
index fc705fe..024c27e 100644
--- a/lib/matplotlib/backends/backend_gdk.py
+++ b/lib/matplotlib/backends/backend_gdk.py
@@ -26,7 +26,7 @@ def fn_name(): return sys._getframe(1).f_code.co_name
from matplotlib._pylab_helpers import Gcf
from matplotlib.backend_bases import RendererBase, GraphicsContextBase, \
FigureManagerBase, FigureCanvasBase
-from matplotlib.cbook import is_string_like
+from matplotlib.cbook import is_string_like, restrict_dict
from matplotlib.figure import Figure
from matplotlib.mathtext import MathTextParser
from matplotlib.transforms import Affine2D
@@ -477,7 +477,7 @@ def _print_image(self, filename, format, *args, **kwargs):
# set the default quality, if we are writing a JPEG.
# http://www.pygtk.org/docs/pygtk/class-gdkpixbuf.html#method-gdkpixbuf--save
- options = cbook.restrict_dict(kwargs, ['quality'])
+ options = restrict_dict(kwargs, ['quality'])
if format in ['jpg','jpeg']:
if 'quality' not in options:
options['quality'] = rcParams['savefig.jpeg_quality']

View File

@@ -0,0 +1,33 @@
--- setupext.py.orig 2013-08-02 09:39:43.914247832 +0200
+++ setupext.py 2013-08-02 09:40:14.785304342 +0200
@@ -914,28 +914,13 @@ class LibAgg(SetupPackage):
self.__class__.found_external = True
try:
return self._check_for_pkg_config(
- 'libagg', 'agg2/agg_basics.h', min_version='PATCH')
+ 'libagg', 'agg2/agg_basics.h', min_version='2.5.0')
except CheckFailed as e:
self.__class__.found_external = False
return str(e) + ' Using local copy.'
def add_flags(self, ext):
- if self.found_external:
- pkg_config.setup_extension(ext, 'libagg')
- else:
- ext.include_dirs.append('extern/agg24/include')
- agg_sources = [
- 'agg_bezier_arc.cpp',
- 'agg_curves.cpp',
- 'agg_image_filters.cpp',
- 'agg_trans_affine.cpp',
- 'agg_vcgen_contour.cpp',
- 'agg_vcgen_dash.cpp',
- 'agg_vcgen_stroke.cpp',
- 'agg_vpgen_segmentator.cpp'
- ]
- ext.sources.extend(
- os.path.join('extern', 'agg24', 'src', x) for x in agg_sources)
+ pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"])
class FreeType(SetupPackage):

View File

@@ -0,0 +1,18 @@
--- setupext.py.orig 2014-01-25 15:06:39.460916454 +0100
+++ setupext.py 2014-01-25 15:06:53.080946205 +0100
@@ -841,15 +841,6 @@
name = 'pycxx'
def check(self):
- if PY3:
- # There is no version of PyCXX in the wild that will work
- # with Python 3.x and matplotlib, since they lack support
- # for the buffer object.
- self.__class__.found_external = False
- return ("Official versions of PyCXX are not compatible "
- "with matplotlib on Python 3.x, since they lack "
- "support for the buffer object. Using local "
- "copy")
self.__class__.found_external = True
old_stdout = sys.stdout

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,2 @@
[packages]
tests = True
toolkits = True
toolkits_tests = True
[rc_options]
backend = GTKAgg

View File

@@ -1,2 +1 @@
SHA512 (matplotlib-3.0.3.tar.gz) = 9fe00b8d0ca6dcf2f1b907118b656353e115b73f8b21adeb4391c87e164c111a4994c3ac17cdd02e75b896d9aa26c279618132f9a7bfe995c0f7c62356ed85ad
SHA512 (matplotlib-3.0.1-with-freetype-2.9.1.tar.gz) = 7d2f9fa2a1ae58107283877cbb96d74f79cfda4d6328bdee90d88b2a286eaad9ae8ff6d764f10a5c05eec6fb5de8598cada168fe7c85d33bd07873fdfc142e3a
c16111ce7d6c799a2b557699f40eb709 matplotlib-1.4.3-without-extern.tar.xz