Compare commits
193 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
171d221430 | ||
|
|
2b82ad2a3b | ||
|
|
98cb5a1a9b | ||
|
|
ac8946e2f5 | ||
|
|
4cdf22e67a | ||
|
|
7da34af983 | ||
|
|
c24355dafa | ||
|
|
e3697cc92e | ||
|
|
3995507d1b | ||
|
|
ad9824fe33 | ||
|
|
f853587a87 | ||
|
|
4524214523 | ||
|
|
26c79f2797 | ||
|
|
c7c1d89af8 | ||
|
|
9d428b07ae | ||
|
|
037e6aee2b | ||
|
|
02546b29b2 | ||
|
|
107b5a1d51 | ||
|
|
8d41fb7796 | ||
|
|
d52452b8de | ||
|
|
ec400d341f | ||
|
|
bea895839b | ||
|
|
713ad4038b | ||
|
|
d613f4be7e | ||
|
|
f5b673f304 | ||
|
|
3fa499ba45 | ||
|
|
ea129e4586 | ||
|
|
e6f3591340 | ||
|
|
304a359289 | ||
|
|
8d98548134 | ||
|
|
1f37c6ab3a | ||
|
|
c533793071 | ||
|
|
e8c7e2c6d2 | ||
|
|
cb1f3493dc | ||
|
|
3009a9a10c | ||
|
|
685e53f794 | ||
|
|
c4446bc9c0 | ||
|
|
2441db0faa | ||
|
|
9046bbb237 | ||
|
|
3652785c8e | ||
|
|
6ae3a9e1d1 | ||
|
|
831ec4cba0 | ||
|
|
49e6227f01 | ||
|
|
120f1b74da | ||
|
|
b5e6655ad8 | ||
|
|
6e771d1530 | ||
|
|
b1b97b1ed1 | ||
|
|
17130085de | ||
|
|
f171297f40 | ||
|
|
af995aa143 | ||
|
|
308245a86e | ||
|
|
7424178997 | ||
|
|
cc106d1c4a | ||
|
|
7901631a85 | ||
|
|
b4eba4ae21 | ||
|
|
b8683378dd | ||
|
|
9fde50abab | ||
|
|
ed3fa9581d | ||
|
|
c08eccf6ad | ||
|
|
a0fbf93967 | ||
|
|
6f3ec368b4 | ||
|
|
d2fa0263b8 | ||
|
|
c385e2c1a9 | ||
|
|
6995ee3297 | ||
|
|
19b5ff96fa | ||
|
|
1dcb7afa2a | ||
|
|
ee42f59462 | ||
|
|
8293bc2589 | ||
|
|
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 |
57
.gitignore
vendored
57
.gitignore
vendored
@@ -1,3 +1,60 @@
|
|||||||
matplotlib-1.0.0-without-gpc.tar.gz
|
matplotlib-1.0.0-without-gpc.tar.gz
|
||||||
/matplotlib-1.0.1-without-gpc.tar.gz
|
/matplotlib-1.0.1-without-gpc.tar.gz
|
||||||
/mpl_sampledata-1.0.1.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
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|
||||||
69
0001-matplotlibrc-path-search-fix.patch
Normal file
69
0001-matplotlibrc-path-search-fix.patch
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
From 7d34e4c6cf3e9f0b68d0a7f70f5c832a24b74d7e 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 | 28 ++++------------------------
|
||||||
|
1 file changed, 4 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||||
|
index 1c47973f15..202acce525 100644
|
||||||
|
--- a/lib/matplotlib/__init__.py
|
||||||
|
+++ b/lib/matplotlib/__init__.py
|
||||||
|
@@ -536,33 +536,11 @@ def get_data_path(*, _from_rc=None):
|
||||||
|
|
||||||
|
@_logged_cached('(private) matplotlib data path: %s')
|
||||||
|
def _get_data_path():
|
||||||
|
- path = Path(__file__).with_name("mpl-data")
|
||||||
|
+ path = (Path(__file__).parent.parent.parent.parent.parent /
|
||||||
|
+ 'share/matplotlib/mpl-data')
|
||||||
|
if path.is_dir():
|
||||||
|
return str(path)
|
||||||
|
|
||||||
|
- cbook.warn_deprecated(
|
||||||
|
- "3.2", message="Matplotlib installs where the data is not in the "
|
||||||
|
- "mpl-data subdirectory of the package are deprecated since %(since)s "
|
||||||
|
- "and support for them will be removed %(removal)s.")
|
||||||
|
-
|
||||||
|
- def get_candidate_paths():
|
||||||
|
- # setuptools' namespace_packages may hijack 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'
|
||||||
|
-
|
||||||
|
- for path in get_candidate_paths():
|
||||||
|
- if path.is_dir():
|
||||||
|
- defaultParams['datapath'][0] = str(path)
|
||||||
|
- return str(path)
|
||||||
|
-
|
||||||
|
raise RuntimeError('Could not find the matplotlib data files')
|
||||||
|
|
||||||
|
|
||||||
|
@@ -583,6 +561,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.
|
||||||
|
"""
|
||||||
|
@@ -597,6 +576,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.29.2
|
||||||
|
|
||||||
120
0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch
Normal file
120
0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
From 40ed55c16c0d3f7d2365af5c6a8f99e02eadae31 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_polar.py | 2 +-
|
||||||
|
lib/matplotlib/tests/test_tightlayout.py | 10 +++++-----
|
||||||
|
setupext.py | 6 +++++-
|
||||||
|
6 files changed, 15 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||||
|
index 202acce525..18731b7c4d 100644
|
||||||
|
--- a/lib/matplotlib/__init__.py
|
||||||
|
+++ b/lib/matplotlib/__init__.py
|
||||||
|
@@ -1198,7 +1198,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 e0b340da1e..9090c2930c 100644
|
||||||
|
--- a/lib/matplotlib/tests/test_axes.py
|
||||||
|
+++ b/lib/matplotlib/tests/test_axes.py
|
||||||
|
@@ -6055,7 +6055,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],
|
||||||
|
@@ -6073,7 +6073,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 46e6b9663e..593b3fb3ee 100644
|
||||||
|
--- a/lib/matplotlib/tests/test_constrainedlayout.py
|
||||||
|
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||||
|
@@ -398,4 +398,4 @@ def test_hidden_axes():
|
||||||
|
extents1 = np.copy(axs[0, 0].get_position().extents)
|
||||||
|
|
||||||
|
np.testing.assert_allclose(
|
||||||
|
- extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-5)
|
||||||
|
+ extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-2)
|
||||||
|
diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
|
||||||
|
index da9a77c825..a7a98ef59e 100644
|
||||||
|
--- a/lib/matplotlib/tests/test_polar.py
|
||||||
|
+++ b/lib/matplotlib/tests/test_polar.py
|
||||||
|
@@ -314,7 +314,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 9ad2e0a9a0..7c9085a314 100644
|
||||||
|
--- a/lib/matplotlib/tests/test_tightlayout.py
|
||||||
|
+++ b/lib/matplotlib/tests/test_tightlayout.py
|
||||||
|
@@ -171,12 +171,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 dfa004d7f0..8ec77feed9 100644
|
||||||
|
--- a/setupext.py
|
||||||
|
+++ b/setupext.py
|
||||||
|
@@ -129,12 +129,16 @@ _freetype_hashes = {
|
||||||
|
'955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
|
||||||
|
'2.10.1':
|
||||||
|
'3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110',
|
||||||
|
+ '2.10.2':
|
||||||
|
+ 'e09aa914e4f7a5d723ac381420949c55c0b90b15744adce5d1406046022186ab',
|
||||||
|
+ '2.10.4':
|
||||||
|
+ '5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac',
|
||||||
|
}
|
||||||
|
# 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')
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
||||||
@@ -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
87
setup.cfg
87
setup.cfg
@@ -1,81 +1,8 @@
|
|||||||
# Rename this file to setup.cfg to modify matplotlib's
|
[libs]
|
||||||
# build options.
|
system_freetype = True
|
||||||
|
system_qhull = True
|
||||||
|
|
||||||
[egg_info]
|
[packages]
|
||||||
tag_svn_revision = 1
|
tests = True
|
||||||
|
toolkits = True
|
||||||
[status]
|
toolkits_tests = True
|
||||||
# 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 @@
|
|||||||
b4d61df73ffa715f5009063a4ba78745 matplotlib-1.0.1-without-gpc.tar.gz
|
SHA512 (matplotlib-3.3.4.tar.gz) = e29bcd17ea2b65c26c75421a319d3f21c5b0148c9e61d55d719c191c07342ed19032f97cde269647bd545ed45b5e142483e50caf29ffd421acde5b0b3bfa238b
|
||||||
24ee8b490f707a60ed5aaf7259f6bc40 mpl_sampledata-1.0.1.tar.gz
|
SHA512 (matplotlib-3.3.3-with-freetype-2.10.4.tar.gz) = b583842a24edc5deb39a3182797199081500fb089bff467a9e55d3612d8c049d43ed08385d42060271928f5cb02240599c7173a65c213fae9bafb2081c54c5a1
|
||||||
|
|||||||
@@ -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