Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c76b5e56c |
67
.gitignore
vendored
67
.gitignore
vendored
@@ -1,70 +1,3 @@
|
||||
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-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
|
||||
/matplotlib-3.1.0rc1.tar.gz
|
||||
/matplotlib-3.1.0.tar.gz
|
||||
/matplotlib-3.1.0-with-freetype-2.10.0.tar.gz
|
||||
/matplotlib-3.1.1.tar.gz
|
||||
/matplotlib-3.1.1-with-freetype-2.10.0.tar.gz
|
||||
/matplotlib-3.1.2.tar.gz
|
||||
/matplotlib-3.2.0rc3.tar.gz
|
||||
/matplotlib-3.2.0rc3-with-freetype-2.10.1.tar.gz
|
||||
/matplotlib-3.2.0.tar.gz
|
||||
/matplotlib-3.2.0-with-freetype-2.10.1.tar.gz
|
||||
/matplotlib-3.2.1.tar.gz
|
||||
/matplotlib-3.2.2.tar.gz
|
||||
/matplotlib-3.2.2-with-freetype-2.10.1.tar.gz
|
||||
/matplotlib-3.3.0rc1.tar.gz
|
||||
/matplotlib-3.3.0rc1-with-freetype-2.10.1.tar.gz
|
||||
/matplotlib-3.3.0.tar.gz
|
||||
/matplotlib-3.3.0-with-freetype-2.10.2.tar.gz
|
||||
/matplotlib-3.3.1.tar.gz
|
||||
/matplotlib-3.3.2.tar.gz
|
||||
/matplotlib-3.3.3.tar.gz
|
||||
/matplotlib-3.3.3-with-freetype-2.10.4.tar.gz
|
||||
/matplotlib-3.3.4.tar.gz
|
||||
/matplotlib-3.4.0rc1.tar.gz
|
||||
/matplotlib-3.4.0rc1-with-freetype-2.10.4.tar.gz
|
||||
/matplotlib-3.4.0rc3.tar.gz
|
||||
/matplotlib-3.4.1.tar.gz
|
||||
/matplotlib-3.4.1-with-freetype-2.10.4.tar.gz
|
||||
/matplotlib-3.4.2.tar.gz
|
||||
/matplotlib-3.4.1-with-freetype-2.11.0.tar.gz
|
||||
/matplotlib-3.4.3.tar.gz
|
||||
/matplotlib-3.4.3-with-freetype-2.10.4.tar.gz
|
||||
/matplotlib-3.4.3-with-freetype-2.11.0.tar.gz
|
||||
|
||||
188
0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch
Normal file
188
0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch
Normal file
@@ -0,0 +1,188 @@
|
||||
--- 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
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
From edf0b7412cd5cdf6e07f035d542c93033c374b37 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas A Caswell <tcaswell@gmail.com>
|
||||
Date: Fri, 1 Apr 2022 11:46:32 -0400
|
||||
Subject: [PATCH] FIX: account for constant deprecations in Pillow 9.1
|
||||
|
||||
https://pillow.readthedocs.io/en/stable/deprecations.html#constants
|
||||
https://pillow.readthedocs.io/en/stable/releasenotes/9.1.0.html#constants
|
||||
|
||||
Image.None -> Image.Dither.None
|
||||
Image.ADAPTIVE -> Image.Palette.ADAPTIVE
|
||||
|
||||
(cherry picked from commit bb997708c08dae01ac95104f1f33d8c08c4715d4)
|
||||
---
|
||||
lib/matplotlib/backends/backend_pdf.py | 15 +++++++++++++--
|
||||
1 file changed, 13 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py
|
||||
index 26a12764da..fa7d4a0075 100644
|
||||
--- a/lib/matplotlib/backends/backend_pdf.py
|
||||
+++ b/lib/matplotlib/backends/backend_pdf.py
|
||||
@@ -1646,8 +1646,19 @@ end"""
|
||||
# Convert to indexed color if there are 256 colors or fewer
|
||||
# This can significantly reduce the file size
|
||||
num_colors = len(img_colors)
|
||||
- img = img.convert(mode='P', dither=Image.NONE,
|
||||
- palette=Image.ADAPTIVE, colors=num_colors)
|
||||
+ # These constants were converted to IntEnums and deprecated in
|
||||
+ # Pillow 9.2
|
||||
+ dither = (
|
||||
+ Image.Dither.NONE if hasattr(Image, 'Dither')
|
||||
+ else Image.NONE
|
||||
+ )
|
||||
+ pmode = (
|
||||
+ Image.Palette.ADAPTIVE if hasattr(Image, 'Palette')
|
||||
+ else Image.ADAPTIVE
|
||||
+ )
|
||||
+ img = img.convert(
|
||||
+ mode='P', dither=dither, palette=pmode, colors=num_colors
|
||||
+ )
|
||||
png_data, bit_depth, palette = self._writePng(img)
|
||||
if bit_depth is None or palette is None:
|
||||
raise RuntimeError("invalid PNG header")
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
From 60ab4094d885067c50694d2f11cd640dc5c0f0c6 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/2] matplotlibrc path search fix
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/__init__.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index 71c68a3d6b..88be8e97b0 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -473,7 +473,8 @@ def get_cachedir():
|
||||
@_logged_cached('matplotlib data path: %s')
|
||||
def get_data_path():
|
||||
"""Return the path to Matplotlib data."""
|
||||
- return str(Path(__file__).with_name("mpl-data"))
|
||||
+ return str(Path(__file__).parent.parent.parent.parent.parent /
|
||||
+ 'share/matplotlib/mpl-data')
|
||||
|
||||
|
||||
def matplotlib_fname():
|
||||
@@ -493,6 +494,7 @@ def matplotlib_fname():
|
||||
is not defined)
|
||||
- On other platforms,
|
||||
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
|
||||
+ - ``/etc/matplotlibrc``
|
||||
- Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
|
||||
exist.
|
||||
"""
|
||||
@@ -511,6 +513,7 @@ def matplotlib_fname():
|
||||
yield matplotlibrc
|
||||
yield os.path.join(matplotlibrc, 'matplotlibrc')
|
||||
yield os.path.join(get_configdir(), 'matplotlibrc')
|
||||
+ yield '/etc/matplotlibrc'
|
||||
yield os.path.join(get_data_path(), 'matplotlibrc')
|
||||
|
||||
for fname in gen_candidates():
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,165 +0,0 @@
|
||||
From 7ca8afa7fa3e141464c1ef2b2c58b23b586bf310 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Fri, 14 Feb 2020 06:05:42 -0500
|
||||
Subject: [PATCH 2/2] Set FreeType version to 2.10.4 and update tolerances.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/__init__.py | 2 +-
|
||||
lib/matplotlib/tests/test_axes.py | 4 ++--
|
||||
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
|
||||
lib/matplotlib/tests/test_mathtext.py | 7 +++++--
|
||||
lib/matplotlib/tests/test_polar.py | 2 +-
|
||||
lib/matplotlib/tests/test_tightlayout.py | 10 +++++-----
|
||||
setupext.py | 9 ++++++++-
|
||||
7 files changed, 23 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index 88be8e97b0..22dc74181e 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -1137,7 +1137,7 @@ default_test_modules = [
|
||||
def _init_tests():
|
||||
# The version of FreeType to install locally for running the
|
||||
# tests. This must match the value in `setupext.py`
|
||||
- LOCAL_FREETYPE_VERSION = '2.6.1'
|
||||
+ LOCAL_FREETYPE_VERSION = '2.10.4'
|
||||
|
||||
from matplotlib import ft2font
|
||||
if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or
|
||||
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
|
||||
index 7950e5b830..046dbbe1b8 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -6500,7 +6500,7 @@ def test_normal_axes():
|
||||
]
|
||||
for nn, b in enumerate(bbaxis):
|
||||
targetbb = mtransforms.Bbox.from_bounds(*target[nn])
|
||||
- assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=2)
|
||||
+ assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=0)
|
||||
|
||||
target = [
|
||||
[150.0, 119.999, 930.0, 11.111],
|
||||
@@ -6518,7 +6518,7 @@ def test_normal_axes():
|
||||
|
||||
target = [85.5138, 75.88888, 1021.11, 1017.11]
|
||||
targetbb = mtransforms.Bbox.from_bounds(*target)
|
||||
- assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=2)
|
||||
+ assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=0)
|
||||
|
||||
# test that get_position roundtrips to get_window_extent
|
||||
axbb = ax.get_position().transformed(fig.transFigure).bounds
|
||||
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
index 117b221cc2..d009912dfa 100644
|
||||
--- a/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
@@ -429,7 +429,7 @@ def test_hidden_axes():
|
||||
extents1 = np.copy(axs[0, 0].get_position().extents)
|
||||
|
||||
np.testing.assert_allclose(
|
||||
- extents1, [0.045552, 0.543288, 0.47819, 0.982638], rtol=1e-5)
|
||||
+ extents1, [0.045552, 0.543288, 0.47819, 0.982638], rtol=1e-2)
|
||||
|
||||
|
||||
def test_colorbar_align():
|
||||
diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
|
||||
index b5fd906d2f..8e3801a231 100644
|
||||
--- a/lib/matplotlib/tests/test_mathtext.py
|
||||
+++ b/lib/matplotlib/tests/test_mathtext.py
|
||||
@@ -1,5 +1,6 @@
|
||||
import io
|
||||
import os
|
||||
+import platform
|
||||
import re
|
||||
|
||||
import numpy as np
|
||||
@@ -189,7 +190,8 @@ def baseline_images(request, fontset, index, text):
|
||||
@pytest.mark.parametrize(
|
||||
'fontset', ['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.011 if platform.machine() in ('ppc64le', 's390x') else 0)
|
||||
def test_mathtext_rendering(baseline_images, fontset, index, text):
|
||||
mpl.rcParams['mathtext.fontset'] = fontset
|
||||
fig = plt.figure(figsize=(5.25, 0.75))
|
||||
@@ -213,7 +215,8 @@ def test_mathtext_rendering_lightweight(baseline_images, fontset, index, text):
|
||||
@pytest.mark.parametrize(
|
||||
'fontset', ['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.011 if platform.machine() in ('ppc64le', 's390x') else 0)
|
||||
def test_mathfont_rendering(baseline_images, fontset, index, text):
|
||||
mpl.rcParams['mathtext.fontset'] = fontset
|
||||
fig = plt.figure(figsize=(5.25, 0.75))
|
||||
diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
|
||||
index c614eff027..daf4e26fb8 100644
|
||||
--- a/lib/matplotlib/tests/test_polar.py
|
||||
+++ b/lib/matplotlib/tests/test_polar.py
|
||||
@@ -312,7 +312,7 @@ def test_get_tightbbox_polar():
|
||||
fig.canvas.draw()
|
||||
bb = ax.get_tightbbox(fig.canvas.get_renderer())
|
||||
assert_allclose(
|
||||
- bb.extents, [107.7778, 29.2778, 539.7847, 450.7222], rtol=1e-03)
|
||||
+ bb.extents, [107.7778, 29.2778, 539.7847, 450.7222], rtol=1)
|
||||
|
||||
|
||||
@check_figures_equal(extensions=["png"])
|
||||
diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py
|
||||
index 23d363b508..e94c863477 100644
|
||||
--- a/lib/matplotlib/tests/test_tightlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_tightlayout.py
|
||||
@@ -172,12 +172,12 @@ def test_outward_ticks():
|
||||
plt.tight_layout()
|
||||
# These values were obtained after visual checking that they correspond
|
||||
# to a tight layouting that did take the ticks into account.
|
||||
- ans = [[[0.091, 0.607], [0.433, 0.933]],
|
||||
- [[0.579, 0.607], [0.922, 0.933]],
|
||||
- [[0.091, 0.140], [0.433, 0.466]],
|
||||
- [[0.579, 0.140], [0.922, 0.466]]]
|
||||
+ ans = [[[0.09, 0.61], [0.43, 0.93]],
|
||||
+ [[0.58, 0.61], [0.92, 0.93]],
|
||||
+ [[0.09, 0.14], [0.43, 0.47]],
|
||||
+ [[0.58, 0.14], [0.92, 0.47]]]
|
||||
for nn, ax in enumerate(fig.axes):
|
||||
- assert_array_equal(np.round(ax.get_position().get_points(), 3),
|
||||
+ assert_array_equal(np.round(ax.get_position().get_points(), 2),
|
||||
ans[nn])
|
||||
|
||||
|
||||
diff --git a/setupext.py b/setupext.py
|
||||
index d8d0b6b393..e44d3b046a 100644
|
||||
--- a/setupext.py
|
||||
+++ b/setupext.py
|
||||
@@ -167,12 +167,18 @@ _freetype_hashes = {
|
||||
'955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
|
||||
'2.10.1':
|
||||
'3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110',
|
||||
+ '2.10.2':
|
||||
+ 'e09aa914e4f7a5d723ac381420949c55c0b90b15744adce5d1406046022186ab',
|
||||
+ '2.10.4':
|
||||
+ '5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac',
|
||||
+ '2.11.0':
|
||||
+ 'a45c6b403413abd5706f3582f04c8339d26397c4304b78fa552f2215df64101f',
|
||||
}
|
||||
# This is the version of FreeType to use when building a local
|
||||
# version. It must match the value in
|
||||
# lib/matplotlib.__init__.py and also needs to be changed below in the
|
||||
# embedded windows build script (grep for "REMINDER" in this file)
|
||||
-LOCAL_FREETYPE_VERSION = '2.6.1'
|
||||
+LOCAL_FREETYPE_VERSION = '2.10.4'
|
||||
LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown')
|
||||
|
||||
LOCAL_QHULL_VERSION = '2020.2'
|
||||
@@ -565,6 +571,7 @@ class FreeType(SetupPackage):
|
||||
ext.extra_objects.insert(
|
||||
0, str(src_path / 'objs' / '.libs' / libfreetype))
|
||||
ext.define_macros.append(('FREETYPE_BUILD_TYPE', 'local'))
|
||||
+ ext.libraries.append('brotlidec')
|
||||
|
||||
def do_custom_build(self, env):
|
||||
# We're using a system freetype
|
||||
--
|
||||
2.31.1
|
||||
|
||||
19
generate-tarball.sh
Executable file
19
generate-tarball.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#! /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
|
||||
12
matplotlib-1.0.1-plot_directive.patch
Normal file
12
matplotlib-1.0.1-plot_directive.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
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)
|
||||
File diff suppressed because it is too large
Load Diff
87
setup.cfg
87
setup.cfg
@@ -1,8 +1,81 @@
|
||||
[libs]
|
||||
system_freetype = True
|
||||
system_qhull = True
|
||||
# Rename this file to setup.cfg to modify matplotlib's
|
||||
# build options.
|
||||
|
||||
[packages]
|
||||
tests = True
|
||||
toolkits = True
|
||||
toolkits_tests = True
|
||||
[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
|
||||
|
||||
[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
|
||||
|
||||
4
sources
4
sources
@@ -1,2 +1,2 @@
|
||||
SHA512 (matplotlib-3.4.3.tar.gz) = e346c7d0f33b7d2fb5b48a4578ec99a40c2e5b959d109526ccbe7582a37f10abb91d53062711c37eb4ccaf462fd8684e1557405c50ccf43139bc371601a60e80
|
||||
SHA512 (matplotlib-3.4.3-with-freetype-2.10.4.tar.gz) = 665870e9c34fa562c69c28432b6d378e02c63ff2b14a34f982a16c89ecdb3b012cdf3306e84a052d689710f2ddff069c8a207b63971c73e5c867d6562e1f6241
|
||||
b4d61df73ffa715f5009063a4ba78745 matplotlib-1.0.1-without-gpc.tar.gz
|
||||
24ee8b490f707a60ed5aaf7259f6bc40 mpl_sampledata-1.0.1.tar.gz
|
||||
|
||||
Reference in New Issue
Block a user