From bb138bb3044e1f317892481bf7e152620035bc89 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Mon, 20 May 2013 15:35:17 -0400 Subject: [PATCH 001/329] Request a specific version of Gtk when using gi --- lib/matplotlib/backends/backend_gtk3.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index be12f4e68c38..3f3372ef0bea 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -3,6 +3,16 @@ import os, sys def fn_name(): return sys._getframe(1).f_code.co_name +try: + import gi +except ImportError: + raise ImportError("Gtk3 backend requires pygobject to be installed.") + +try: + gi.require_version("Gtk", "3.0") +except ValueError: + raise ImportError("Gtk3 backend gtk3 development files to be installed.") + try: from gi.repository import Gtk, Gdk, GObject except ImportError: From 97b0513c465b61161d82122110f181e5bdeb11f1 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 21 May 2013 14:07:28 -0400 Subject: [PATCH 002/329] On Linux, use the XDG base directory specification for configuration and cache directories --- doc/api/api_changes.rst | 5 + doc/faq/troubleshooting_faq.rst | 8 +- doc/users/customizing.rst | 28 +++-- doc/users/whats_new.rst | 9 ++ lib/matplotlib/__init__.py | 175 +++++++++++++++++------------- lib/matplotlib/finance.py | 10 +- lib/matplotlib/font_manager.py | 10 +- lib/matplotlib/testing/compare.py | 8 +- lib/matplotlib/texmanager.py | 6 +- 9 files changed, 156 insertions(+), 103 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 8be7932f23d3..1826e65c8082 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -17,6 +17,11 @@ For new features that were added to matplotlib, please see Changes in 1.3.x ================ +* On Linux, the user-specific `matplotlibrc` configuration file is now + located in `~/.config/matplotlib/matplotlibrc` to conform to the + `XDG Base Directory Specification + `_. + * The following items that were deprecated in version 1.2 or earlier have now been removed completely. diff --git a/doc/faq/troubleshooting_faq.rst b/doc/faq/troubleshooting_faq.rst index a8cc7646fef1..4fa757e21aa5 100644 --- a/doc/faq/troubleshooting_faq.rst +++ b/doc/faq/troubleshooting_faq.rst @@ -37,10 +37,10 @@ and printing the ``__file__`` attribute:: :file:`.matplotlib` directory location ====================================== -Each user has a :file:`.matplotlib/` directory which may contain a -:ref:`matplotlibrc ` file and various -caches to improve matplotlib's performance. To locate your :file:`.matplotlib/` -directory, use :func:`matplotlib.get_configdir`:: +Each user has a matplotlib configuration directory which may contain a +:ref:`matplotlibrc ` file. To +locate your :file:`.matplotlib/` directory, use +:func:`matplotlib.get_configdir`:: >>> import matplotlib as mpl >>> mpl.get_configdir() diff --git a/doc/users/customizing.rst b/doc/users/customizing.rst index de5716ac3ff1..035d8276e3e3 100644 --- a/doc/users/customizing.rst +++ b/doc/users/customizing.rst @@ -18,21 +18,31 @@ locations, in the following order: 1. :file:`matplotlibrc` in the current working directory, usually used for specific customizations that you do not want to apply elsewhere. -2. :file:`.matplotlib/matplotlibrc`, for the user's default customizations. See - :ref:`locating-matplotlib-config-dir`. -3. :file:`{INSTALL}/matplotlib/mpl-data/matplotlibrc`, where :file:`{INSTALL}` - is something like :file:`/usr/lib/python2.5/site-packages` on Linux, and - maybe :file:`C:\\Python25\\Lib\\site-packages` on Windows. Every time you - install matplotlib, this file will be overwritten, so if you want your - customizations to be saved, please move this file to your :file:`.matplotlib` - directory. + +2. It next looks in a user-specific place, depending on your platform: + + - On Linux, it looks in :file:`.config/matplotlib/matplotlibrc` (or + `$XDG_CONFIG_HOME/matplotlib/matplotlibrc` if you've customized + your environment. + + - On other platforms, it looks in :file:`.matplotlib/matplotlibrc`. + + See :ref:`locating-matplotlib-config-dir`. + +3. :file:`{INSTALL}/matplotlib/mpl-data/matplotlibrc`, where + :file:`{INSTALL}` is something like + :file:`/usr/lib/python2.5/site-packages` on Linux, and maybe + :file:`C:\\Python25\\Lib\\site-packages` on Windows. Every time you + install matplotlib, this file will be overwritten, so if you want + your customizations to be saved, please move this file to your + user-specific matplotlib directory. To display where the currently active :file:`matplotlibrc` file was loaded from, one can do the following:: >>> import matplotlib >>> matplotlib.matplotlib_fname() - '/home/foo/.matplotlib/matplotlibrc' + '/home/foo/.config/matplotlib/matplotlibrc' See below for a sample :ref:`matplotlibrc file`. diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 0c2b2f908f86..30c2fb59dddf 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -66,6 +66,15 @@ animations as well as being fully interactive. Future versions of matplotlib will integrate this backend with the IPython notebook for a fully web browser based plotting frontend. +XDG base directory support +-------------------------- +On Linux, matplotlib now uses the `XDG base directory specification +` +to find the `matplotlibrc` configuration file. `matplotlibrc` should +now be kept in `~/.config/matplotlib`, rather than `~/.matplotlib`. If +your configuration is found in the old location, it will still be used, +but a warning will be displayed. + Path effects on lines --------------------- Thanks to Jae-Joon Lee, path effects now also work on plot lines. diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index c8d0eb1543c2..e269f0706633 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -146,19 +146,6 @@ sys.argv = ['modpython'] -""" -Manage user customizations through a rc file. - -The default file location is given in the following order - - - environment variable MATPLOTLIBRC - - - HOME/.matplotlib/matplotlibrc if HOME is defined - - - PATH/matplotlibrc where PATH is the return value of - get_data_path() -""" - import sys, os, tempfile if sys.version_info[0] >= 3: @@ -525,21 +512,25 @@ def _create_tmp_config_dir(): get_home = verbose.wrap('$HOME=%s', _get_home, always=False) -def _get_configdir(): +def _get_xdg_config_dir(): """ - Return the string representing the configuration directory. + Returns the XDG configuration directory, according to the `XDG + base directory spec + `_. + """ + return os.environ.get('XDG_CONFIG_HOME', os.path.join(get_home(), '.config')) - The directory is chosen as follows: - 1. If the MPLCONFIGDIR environment variable is supplied, choose that. Else, - choose the '.matplotlib' subdirectory of the user's home directory (and - create it if necessary). - 2. If the chosen directory exists and is writable, use that as the - configuration directory. - 3. If possible, create a temporary directory, and use it as the - configuration directory. - 4. A writable directory could not be found or created; return None. +def _get_xdg_cache_dir(): + """ + Returns the XDG cache directory, according to the `XDG + base directory spec + `_. """ + return os.environ.get('XDG_CACHE_HOME', os.path.join(get_home(), '.cache')) + + +def _get_config_or_cache_dir(xdg_base): from matplotlib.cbook import mkdirs configdir = os.environ.get('MPLCONFIGDIR') @@ -547,28 +538,78 @@ def _get_configdir(): if not os.path.exists(configdir): from matplotlib.cbook import mkdirs mkdirs(configdir) + if not _is_writable_dir(configdir): return _create_tmp_config_dir() return configdir h = get_home() - if h is not None: - p = os.path.join(h, '.matplotlib') + if sys.platform.startswith('linux'): + xdg_path = os.path.join(xdg_base, 'matplotlib') + p = os.path.join(h, '.matplotlib') if os.path.exists(p): - if not _is_writable_dir(p): - return _create_tmp_config_dir() + warnings.warn( + "Found matplotlib configuration in ~/.matplotlib. " + "To conform with the XDG base directory standard, " + "this configuration directory has been deprecated " + "on Linux, and the new location is now %r. Please " + "move your configuration there to ensure that " + "matplotlib will continue to find it in the future." % + xdg_path) else: - if not _is_writable_dir(h): - return _create_tmp_config_dir() - mkdirs(p) + p = xdg_path + else: + p = os.path.join(h, '.matplotlib') + + if os.path.exists(p): + if not _is_writable_dir(p): + return _create_tmp_config_dir() + else: + if not _is_writable_dir(h): + return _create_tmp_config_dir() + mkdirs(p) + + return p + + +def _get_configdir(): + """ + Return the string representing the configuration directory. + + The directory is chosen as follows: - return p + 1. If the MPLCONFIGDIR environment variable is supplied, choose that. + + 2a. On Linux, if `$HOME/.matplotlib` exists, choose that, but warn that + that is the old location. Barring that, follow the XDG specification + and look first in `$XDG_CONFIG_HOME`, if defined, or `$HOME/.config`. + + 2b. On other platforms, choose `$HOME/.matplotlib`. + + 3. If the chosen directory exists and is writable, use that as the + configuration directory. + 4. If possible, create a temporary directory, and use it as the + configuration directory. + 5. A writable directory could not be found or created; return None. + """ + return _get_config_or_cache_dir(_get_xdg_config_dir()) - return _create_tmp_config_dir() get_configdir = verbose.wrap('CONFIGDIR=%s', _get_configdir, always=False) +def _get_cachedir(): + """ + Return the location of the cache directory. + + The procedure used to find the directory is the same as for + _get_config_dir, except using `$XDG_CONFIG_HOME`/`~/.cache` instead. + """ + return _get_config_or_cache_dir(_get_xdg_cache_dir()) + +get_cachedir = verbose.wrap('CACHEDIR=%s', _get_cachedir, always=False) + + def _get_data_path(): 'get the path to matplotlib data' @@ -643,50 +684,36 @@ def get_py2exe_datafiles(): def matplotlib_fname(): """ - Return the path to the rc file used by matplotlib. + Get the location of the config file. - Search order: + The file location is determined in the following order - * current working dir - * environ var MATPLOTLIBRC - * HOME/.matplotlib/matplotlibrc - * MATPLOTLIBDATA/matplotlibrc + - `$PWD/matplotlibrc` - """ - oldname = os.path.join(os.getcwd(), '.matplotlibrc') - if os.path.exists(oldname): - try: - shutil.move('.matplotlibrc', 'matplotlibrc') - except IOError as e: - warnings.warn('File could not be renamed: %s' % e) - else: - warnings.warn("""\ -Old rc filename ".matplotlibrc" found in working dir and and renamed to new - default rc file name "matplotlibrc" (no leading ".").""") - - home = get_home() - configdir = get_configdir() - if home: - oldname = os.path.join(home, '.matplotlibrc') - if os.path.exists(oldname): - if configdir is not None: - newname = os.path.join(configdir, 'matplotlibrc') - - try: - shutil.move(oldname, newname) - except IOError as e: - warnings.warn('File could not be renamed: %s' % e) - else: - warnings.warn("""\ -Old rc filename "%s" found and renamed to new default rc file name "%s".""" - % (oldname, newname)) - else: - warnings.warn("""\ -Could not rename old rc file "%s": a suitable configuration directory could not - be found.""" % oldname) + - environment variable `MATPLOTLIBRC` + + - `$MPLCONFIGDIR/matplotlib` + + - On Linux, + - `$HOME/.matplotlib/matplotlibrc`, if it exists + + - or `$XDG_CONFIG_HOME/matplotlib/matplotlibrc` (if + $XDG_CONFIG_HOME is defined) + + - or `$HOME/.config/matplotlib/matplotlibrc` (if + $XDG_CONFIG_HOME is not defined) + + - On other platforms, + + - `$HOME/.matplotlib/matplotlibrc` if `$HOME` is defined. + + - Lastly, it looks in `$MATPLOTLIBDATA/matplotlibrc` for a + system-defined copy. + """ fname = os.path.join(os.getcwd(), 'matplotlibrc') - if os.path.exists(fname): return fname + if os.path.exists(fname): + return fname if 'MATPLOTLIBRC' in os.environ: path = os.environ['MATPLOTLIBRC'] @@ -695,15 +722,17 @@ def matplotlib_fname(): if os.path.exists(fname): return fname + configdir = _get_configdir() if configdir is not None: fname = os.path.join(configdir, 'matplotlibrc') if os.path.exists(fname): return fname - path = get_data_path() # guaranteed to exist or raise + path = get_data_path() # 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') + return fname diff --git a/lib/matplotlib/finance.py b/lib/matplotlib/finance.py index 991917fa609b..46588370615c 100644 --- a/lib/matplotlib/finance.py +++ b/lib/matplotlib/finance.py @@ -17,7 +17,7 @@ import numpy as np -from matplotlib import verbose, get_configdir +from matplotlib import verbose, get_cachedir from matplotlib.dates import date2num from matplotlib.cbook import iterable, mkdirs from matplotlib.collections import LineCollection, PolyCollection @@ -27,10 +27,10 @@ from matplotlib.transforms import Affine2D -configdir = get_configdir() +cachedir = get_cachedir() # cachedir will be None if there is no writable directory. -if configdir is not None: - cachedir = os.path.join(configdir, 'finance.cache') +if cachedir is not None: + cachedir = os.path.join(cachedir, 'finance.cache') else: # Should only happen in a restricted environment (such as Google App # Engine). Deal with this gracefully by not caching finance data. @@ -151,7 +151,7 @@ def fetch_historical_yahoo(ticker, date1, date2, cachename=None,dividends=False) cachename is the name of the local file cache. If None, will default to the md5 hash or the url (which incorporates the ticker and date range) - + set dividends=True to return dividends instead of price data. With this option set, parse functions will not work diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index ca49c3eb6668..c48f1c99e927 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -51,7 +51,7 @@ import matplotlib from matplotlib import afm from matplotlib import ft2font -from matplotlib import rcParams, get_configdir +from matplotlib import rcParams, get_cachedir from matplotlib.cbook import is_string_like import matplotlib.cbook as cbook from matplotlib.compat import subprocess @@ -1323,12 +1323,12 @@ def findfont(prop, fontext='ttf'): return result else: - configdir = get_configdir() - if configdir is not None: + cachedir = get_cachedir() + if cachedir is not None: if sys.version_info[0] >= 3: - _fmcache = os.path.join(configdir, 'fontList.py3k.cache') + _fmcache = os.path.join(cachedir, 'fontList.py3k.cache') else: - _fmcache = os.path.join(configdir, 'fontList.cache') + _fmcache = os.path.join(cachedir, 'fontList.cache') else: # Should only happen in a restricted environment (such as Google App # Engine). Deal with this gracefully by not caching fonts. diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 3ef4faf10304..6732fefff454 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -11,7 +11,7 @@ from matplotlib.testing.noseclasses import ImageComparisonFailure from matplotlib.testing import image_util from matplotlib import _png -from matplotlib import _get_configdir +from matplotlib import _get_cachedir from matplotlib import cbook from distutils import version import hashlib @@ -100,10 +100,10 @@ def compare_float( expected, actual, relTol = None, absTol = None ): # parameters old and new to a list that can be passed to Popen to # convert files with that extension to png format. def get_cache_dir(): - configdir = _get_configdir() - if configdir is None: + cachedir = _get_cachedir() + if cachedir is None: raise RuntimeError('Could not find a suitable configuration directory') - cache_dir = os.path.join(configdir, 'test_cache') + cache_dir = os.path.join(cachedir, 'test_cache') if not os.path.exists(cache_dir): try: cbook.mkdirs(cache_dir) diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index e94838a8d765..6a43606c0bc5 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -94,9 +94,9 @@ class TexManager: oldpath = mpl.get_data_path() oldcache = os.path.join(oldpath, '.tex.cache') - configdir = mpl.get_configdir() - if configdir is not None: - texcache = os.path.join(configdir, 'tex.cache') + cachedir = mpl.get_cachedir() + if cachedir is not None: + texcache = os.path.join(cachedir, 'tex.cache') else: # Should only happen in a restricted environment (such as Google App # Engine). Deal with this gracefully by not creating a cache directory. From a9fc09170d5dd71d227ecb2a570cb25259a179b0 Mon Sep 17 00:00:00 2001 From: Phil Elson Date: Fri, 24 May 2013 09:34:18 +0100 Subject: [PATCH 003/329] Tests starting with a c are all now PEP8 compliant. --- lib/matplotlib/tests/test_cbook.py | 29 +++++++------ lib/matplotlib/tests/test_coding_standards.py | 5 --- lib/matplotlib/tests/test_colorbar.py | 42 +++++++++++-------- lib/matplotlib/tests/test_colors.py | 21 +++++++--- lib/matplotlib/tests/test_compare_images.py | 38 ++++++++++++----- lib/matplotlib/tests/test_contour.py | 18 ++++---- 6 files changed, 93 insertions(+), 60 deletions(-) diff --git a/lib/matplotlib/tests/test_cbook.py b/lib/matplotlib/tests/test_cbook.py index b5d326ad40f3..0bf03f20d38f 100644 --- a/lib/matplotlib/tests/test_cbook.py +++ b/lib/matplotlib/tests/test_cbook.py @@ -1,21 +1,27 @@ from __future__ import print_function + +from datetime import datetime + +from nose.tools import assert_equal, raises import numpy as np from numpy.testing.utils import assert_array_equal + import matplotlib.cbook as cbook import matplotlib.colors as mcolors -from nose.tools import assert_equal, raises -from datetime import datetime +from matplotlib.cbook import delete_masked_points as dmp + def test_is_string_like(): - y = np.arange( 10 ) - assert_equal( cbook.is_string_like( y ), False ) + y = np.arange(10) + assert_equal(cbook.is_string_like(y), False) y.shape = 10, 1 - assert_equal( cbook.is_string_like( y ), False ) + assert_equal(cbook.is_string_like(y), False) y.shape = 1, 10 - assert_equal( cbook.is_string_like( y ), False ) + assert_equal(cbook.is_string_like(y), False) + + assert cbook.is_string_like("hello world") + assert_equal(cbook.is_string_like(10), False) - assert cbook.is_string_like( "hello world" ) - assert_equal( cbook.is_string_like(10), False ) def test_restrict_dict(): d = {'foo': 'bar', 1: 2} @@ -27,18 +33,17 @@ def test_restrict_dict(): assert_equal(d3, {'foo': 'bar'}) d4 = cbook.restrict_dict(d, {}) assert_equal(d4, {}) - d5 = cbook.restrict_dict(d, set(['foo',2])) + d5 = cbook.restrict_dict(d, set(['foo', 2])) assert_equal(d5, {'foo': 'bar'}) # check that d was not modified assert_equal(d, {'foo': 'bar', 1: 2}) -from matplotlib.cbook import delete_masked_points as dmp class Test_delete_masked_points: def setUp(self): self.mask1 = [False, False, True, True, False, False] - self.arr0 = np.arange(1.0,7.0) - self.arr1 = [1,2,3,np.nan,np.nan,6] + self.arr0 = np.arange(1.0, 7.0) + self.arr1 = [1, 2, 3, np.nan, np.nan, 6] self.arr2 = np.array(self.arr1) self.arr3 = np.ma.array(self.arr2, mask=self.mask1) self.arr_s = ['a', 'b', 'c', 'd', 'e', 'f'] diff --git a/lib/matplotlib/tests/test_coding_standards.py b/lib/matplotlib/tests/test_coding_standards.py index 664327d2134c..21de282fe895 100644 --- a/lib/matplotlib/tests/test_coding_standards.py +++ b/lib/matplotlib/tests/test_coding_standards.py @@ -72,11 +72,6 @@ class StandardReportWithExclusions(pep8.StandardReport): '*/matplotlib/tests/test_backend_svg.py', '*/matplotlib/tests/test_basic.py', '*/matplotlib/tests/test_bbox_tight.py', - '*/matplotlib/tests/test_cbook.py', - '*/matplotlib/tests/test_colorbar.py', - '*/matplotlib/tests/test_colors.py', - '*/matplotlib/tests/test_compare_images.py', - '*/matplotlib/tests/test_contour.py', '*/matplotlib/tests/test_dates.py', '*/matplotlib/tests/test_delaunay.py', '*/matplotlib/tests/test_dviread.py', diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index 75a2ca80e769..819e46c69292 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -22,10 +22,10 @@ def _get_cmap_norms(): clevs = [-5., -2.5, -.5, .5, 1.5, 3.5] # Define norms for the color maps. norms = dict() - norms['neither'] = BoundaryNorm(clevs, len(clevs)-1) - norms['min'] = BoundaryNorm([-10]+clevs[1:], len(clevs)-1) - norms['max'] = BoundaryNorm(clevs[:-1]+[10], len(clevs)-1) - norms['both'] = BoundaryNorm([-10]+clevs[1:-1]+[10], len(clevs)-1) + norms['neither'] = BoundaryNorm(clevs, len(clevs) - 1) + norms['min'] = BoundaryNorm([-10] + clevs[1:], len(clevs) - 1) + norms['max'] = BoundaryNorm(clevs[:-1] + [10], len(clevs) - 1) + norms['both'] = BoundaryNorm([-10] + clevs[1:-1] + [10], len(clevs) - 1) return cmap, norms @@ -46,7 +46,7 @@ def _colorbar_extension_shape(spacing): norm = norms[extension_type] boundaries = values = norm.boundaries # Create a subplot. - cax = fig.add_subplot(4, 1, i+1) + cax = fig.add_subplot(4, 1, i + 1) # Turn off text and ticks. for item in cax.get_xticklabels() + cax.get_yticklabels() +\ cax.get_xticklines() + cax.get_yticklines(): @@ -78,7 +78,7 @@ def _colorbar_extension_length(spacing): boundaries = values = norm.boundaries for j, extendfrac in enumerate((None, 'auto', 0.1)): # Create a subplot. - cax = fig.add_subplot(12, 1, i*3+j+1) + cax = fig.add_subplot(12, 1, i*3 + j + 1) # Turn off text and ticks. for item in cax.get_xticklabels() + cax.get_yticklabels() +\ cax.get_xticklines() + cax.get_yticklines(): @@ -128,19 +128,19 @@ def test_colorbar_positioning(): data = np.arange(1200).reshape(30, 40) levels = [0, 200, 400, 600, 800, 1000, 1200] + # ------------------- plt.figure() plt.contourf(data, levels=levels) plt.colorbar(orientation='horizontal', use_gridspec=False) - locations = ['left', 'right', 'top', 'bottom'] plt.figure() for i, location in enumerate(locations): - plt.subplot(2, 2, i+1) + plt.subplot(2, 2, i + 1) plt.contourf(data, levels=levels) plt.colorbar(location=location, use_gridspec=False) - + # ------------------- plt.figure() # make some other data (random integers) data_2nd = np.array([[2, 3, 2, 3], [1.5, 2, 2, 3], [2, 3, 3, 4]]) @@ -149,13 +149,16 @@ def test_colorbar_positioning(): color_mappable = plt.contourf(data, levels=levels, extend='both') # test extend frac here - hatch_mappable = plt.contourf(data_2nd, levels=[1, 2, 3], colors='none', hatches=['/', 'o', '+'], extend='max') + hatch_mappable = plt.contourf(data_2nd, levels=[1, 2, 3], colors='none', + hatches=['/', 'o', '+'], extend='max') plt.contour(hatch_mappable, colors='black') - plt.colorbar(color_mappable, location='left', label='variable 1', use_gridspec=False) - plt.colorbar(hatch_mappable, location='right', label='variable 2', use_gridspec=False) - + plt.colorbar(color_mappable, location='left', label='variable 1', + use_gridspec=False) + plt.colorbar(hatch_mappable, location='right', label='variable 2', + use_gridspec=False) + # ------------------- plt.figure() ax1 = plt.subplot(211, anchor='NE', aspect='equal') plt.contourf(data, levels=levels) @@ -164,9 +167,12 @@ def test_colorbar_positioning(): ax3 = plt.subplot(224) plt.contourf(data, levels=levels) - plt.colorbar(ax=[ax2, ax3, ax1], location='right', pad=0.0, shrink=0.5, panchor=False, use_gridspec=False) - plt.colorbar(ax=[ax2, ax3, ax1], location='left', shrink=0.5, panchor=False, use_gridspec=False) - plt.colorbar(ax=[ax1], location='bottom', panchor=False, anchor=(0.8, 0.5), shrink=0.6, use_gridspec=False) + plt.colorbar(ax=[ax2, ax3, ax1], location='right', pad=0.0, shrink=0.5, + panchor=False, use_gridspec=False) + plt.colorbar(ax=[ax2, ax3, ax1], location='left', shrink=0.5, + panchor=False, use_gridspec=False) + plt.colorbar(ax=[ax1], location='bottom', panchor=False, + anchor=(0.8, 0.5), shrink=0.6, use_gridspec=False) @image_comparison(baseline_images=['cbar_with_subplots_adjust'], @@ -188,6 +194,6 @@ def test_gridspec_make_colorbar(): plt.subplots_adjust(top=0.95, right=0.95, bottom=0.2, hspace=0.25) -if __name__=='__main__': +if __name__ == '__main__': import nose - nose.runmodule(argv=['-s','--with-doctest'], exit=False) + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py index 5f1ff3c0eb33..ca6d45dc0a3e 100644 --- a/lib/matplotlib/tests/test_colors.py +++ b/lib/matplotlib/tests/test_colors.py @@ -1,13 +1,12 @@ -""" -Tests for the colors module. -""" - from __future__ import print_function + import numpy as np from numpy.testing.utils import assert_array_equal, assert_array_almost_equal + import matplotlib.colors as mcolors import matplotlib.cm as cm + def test_colormap_endian(): """ Github issue #1005: a bug in putmask caused erroneous @@ -23,6 +22,7 @@ def test_colormap_endian(): #print(anative.dtype.isnative, aforeign.dtype.isnative) assert_array_equal(cmap(anative), cmap(aforeign)) + def test_BoundaryNorm(): """ Github issue #1258: interpolation was failing with numpy @@ -36,7 +36,8 @@ def test_BoundaryNorm(): ncolors = len(boundaries) bn = mcolors.BoundaryNorm(boundaries, ncolors) assert_array_equal(bn(vals), expected) - + + def test_LogNorm(): """ LogNorm igornoed clip, now it has the same @@ -46,6 +47,7 @@ def test_LogNorm(): ln = mcolors.LogNorm(clip=True, vmax=5) assert_array_equal(ln([1, 6]), [0, 1.0]) + def test_Normalize(): norm = mcolors.Normalize() vals = np.arange(-10, 10, 1, dtype=np.float) @@ -61,7 +63,7 @@ def test_SymLogNorm(): norm = mcolors.SymLogNorm(3, vmax=5, linscale=1.2) vals = np.array([-30, -1, 2, 6], dtype=np.float) normed_vals = norm(vals) - expected = [ 0., 0.53980074, 0.826991, 1.02758204] + expected = [0., 0.53980074, 0.826991, 1.02758204] assert_array_almost_equal(normed_vals, expected) _inverse_tester(norm, vals) _scalar_tester(norm, vals) @@ -74,6 +76,7 @@ def _inverse_tester(norm_instance, vals): """ assert_array_almost_equal(norm_instance.inverse(norm_instance(vals)), vals) + def _scalar_tester(norm_instance, vals): """ Checks if scalars and arrays are handled the same way. @@ -82,6 +85,7 @@ def _scalar_tester(norm_instance, vals): scalar_result = [norm_instance(float(v)) for v in vals] assert_array_almost_equal(scalar_result, norm_instance(vals)) + def _mask_tester(norm_instance, vals): """ Checks mask handling @@ -89,3 +93,8 @@ def _mask_tester(norm_instance, vals): masked_array = np.ma.array(vals) masked_array[0] = np.ma.masked assert_array_equal(masked_array.mask, norm_instance(masked_array).mask) + + +if __name__ == '__main__': + import nose + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_compare_images.py b/lib/matplotlib/tests/test_compare_images.py index df58dff7d5e9..079b1885336d 100644 --- a/lib/matplotlib/tests/test_compare_images.py +++ b/lib/matplotlib/tests/test_compare_images.py @@ -1,12 +1,16 @@ from __future__ import print_function -from matplotlib.testing.compare import compare_images -from matplotlib.testing.decorators import _image_directories -from nose.tools import assert_equal, assert_not_equal, assert_almost_equal import os import shutil +from nose.tools import assert_equal, assert_not_equal, assert_almost_equal + +from matplotlib.testing.compare import compare_images +from matplotlib.testing.decorators import _image_directories + + baseline_dir, result_dir = _image_directories(lambda: 'dummy func') + # Tests of the image comparison algorithm. def image_comparison_expect_rms(im1, im2, tol, expect_rms): """Compare two images, expecting a particular RMS error. @@ -34,8 +38,10 @@ def image_comparison_expect_rms(im1, im2, tol, expect_rms): assert_not_equal(None, results) assert_almost_equal(expect_rms, results['rms'], places=4) + def test_image_compare_basic(): - """Test comparison of an image and the same image with minor differences.""" + #: Test comparison of an image and the same image with minor differences. + # This expects the images to compare equal under normal tolerance, and have # a small RMS. im1 = 'basn3p02.png' @@ -45,23 +51,27 @@ def test_image_compare_basic(): # Now test with no tolerance. image_comparison_expect_rms(im1, im2, tol=0, expect_rms=6.50646) + def test_image_compare_1px_offset(): - """Test comparison with an image that is shifted by 1px in the X axis.""" + #: Test comparison with an image that is shifted by 1px in the X axis. im1 = 'basn3p02.png' im2 = 'basn3p02-1px-offset.png' image_comparison_expect_rms(im1, im2, tol=0, expect_rms=90.15611) + def test_image_compare_half_1px_offset(): - """Test comparison with an image with half the pixels shifted by 1px in the - X axis.""" + #: Test comparison with an image with half the pixels shifted by 1px in + #: the X axis. im1 = 'basn3p02.png' im2 = 'basn3p02-half-1px-offset.png' image_comparison_expect_rms(im1, im2, tol=0, expect_rms=63.75) + def test_image_compare_scrambled(): - """Test comparison of an image and the same image scrambled.""" - # This expects the images to compare completely different, with a very large - # RMS. + #: Test comparison of an image and the same image scrambled. + + # This expects the images to compare completely different, with a very + # large RMS. # Note: The image has been scrambled in a specific way, by having each # color component of each pixel randomly placed somewhere in the image. It # contains exactly the same number of pixels of each color value of R, G @@ -72,8 +82,9 @@ def test_image_compare_scrambled(): # error. image_comparison_expect_rms(im1, im2, tol=0, expect_rms=172.63582) + def test_image_compare_shade_difference(): - """Test comparison of an image and a slightly brighter image.""" + #: Test comparison of an image and a slightly brighter image. # The two images are solid color, with the second image being exactly 1 # color value brighter. # This expects the images to compare equal under normal tolerance, and have @@ -84,3 +95,8 @@ def test_image_compare_shade_difference(): # Now test the reverse comparison. image_comparison_expect_rms(im2, im1, tol=0, expect_rms=1.0) + + +if __name__ == '__main__': + import nose + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py index 120b4843e436..d4ae546ef076 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -146,7 +146,7 @@ def test_contour_manual_labels(): z = np.max(np.dstack([abs(x), abs(y)]), 2) plt.figure(figsize=(6, 2)) - cs = plt.contour(x,y,z) + cs = plt.contour(x, y, z) pts = np.array([(1.5, 3.0), (1.5, 4.4), (1.5, 6.0)]) plt.clabel(cs, manual=pts) @@ -157,23 +157,25 @@ def test_given_colors_levels_and_extends(): _, axes = plt.subplots(2, 4) data = np.arange(12).reshape(3, 4) - + colors = ['red', 'yellow', 'pink', 'blue', 'black'] levels = [2, 4, 8, 10] - + for i, ax in enumerate(axes.flatten()): plt.sca(ax) - + filled = i % 2 == 0. extend = ['neither', 'min', 'max', 'both'][i // 2] - + if filled: last_color = -1 if extend in ['min', 'max'] else None - plt.contourf(data, colors=colors[:last_color], levels=levels, extend=extend) + plt.contourf(data, colors=colors[:last_color], levels=levels, + extend=extend) else: last_level = -1 if extend == 'both' else None - plt.contour(data, colors=colors, levels=levels[:last_level], extend=extend) - + plt.contour(data, colors=colors, levels=levels[:last_level], + extend=extend) + plt.colorbar() From e104a0e61b380ff54c01a84b0196f9025f7206b7 Mon Sep 17 00:00:00 2001 From: Phil Elson Date: Fri, 24 May 2013 09:41:43 +0100 Subject: [PATCH 004/329] Most tests starting with a are now PEP8 compliant. --- lib/matplotlib/tests/test_agg.py | 6 ++---- lib/matplotlib/tests/test_animation.py | 4 +++- lib/matplotlib/tests/test_arrow_patches.py | 13 ++++++++----- lib/matplotlib/tests/test_artist.py | 18 ++---------------- lib/matplotlib/tests/test_coding_standards.py | 4 ---- lib/matplotlib/tests/test_path.py | 12 ++++++++++++ 6 files changed, 27 insertions(+), 30 deletions(-) diff --git a/lib/matplotlib/tests/test_agg.py b/lib/matplotlib/tests/test_agg.py index 1be2e7fb5292..cb3fd3f3a49e 100644 --- a/lib/matplotlib/tests/test_agg.py +++ b/lib/matplotlib/tests/test_agg.py @@ -1,12 +1,9 @@ from __future__ import print_function - import os import tempfile - from numpy.testing import assert_array_almost_equal - from matplotlib.image import imread from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas from matplotlib.figure import Figure @@ -102,7 +99,8 @@ def report_memory(i): ## avgMem = (end - start) / float(N) ## print 'Average memory consumed per loop: %1.4f\n' % (avgMem) -## #TODO: Verify the expected mem usage and approximate tolerance that should be used +## #TODO: Verify the expected mem usage and approximate tolerance that +## # should be used ## #self.checkClose( 0.32, avgMem, absTol = 0.1 ) ## # w/o text and w/o write_png: Average memory consumed per loop: 0.02 diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index 204243f970b5..75ddbc2cf242 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -1,6 +1,9 @@ +from __future__ import print_function import os import tempfile + import numpy as np + from matplotlib import pyplot as plt from matplotlib import animation from matplotlib.testing.noseclasses import KnownFailureTest @@ -13,7 +16,6 @@ imagemagick='gif', imagemagick_file='gif') - # Smoke test for saving animations. In the future, we should probably # design more sophisticated tests which compare resulting frames a-la # matplotlib.testing.image_comparison diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index c4314d2861f3..7c53671717ed 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -1,12 +1,16 @@ +from __future__ import print_function + import matplotlib.pyplot as plt from matplotlib.testing.decorators import image_comparison import matplotlib + def draw_arrow(ax, t, r): - ax.annotate('', xy=(0.5, 0.5+r), xytext=(0.5, 0.5), size=30, + ax.annotate('', xy=(0.5, 0.5 + r), xytext=(0.5, 0.5), size=30, arrowprops=dict(arrowstyle=t, fc="b", ec='k')) + @image_comparison(baseline_images=['fancyarrow_test_image']) def test_fancyarrow(): r = [0.4, 0.3, 0.2, 0.1] @@ -14,7 +18,7 @@ def test_fancyarrow(): fig, axes = plt.subplots(len(t), len(r), squeeze=False, subplot_kw=dict(aspect=True), - figsize=(8, 4.5)) + figsize=(8, 4.5)) for i_r, r1 in enumerate(r): for i_t, t1 in enumerate(t): @@ -23,7 +27,6 @@ def test_fancyarrow(): ax.tick_params(labelleft=False, labelbottom=False) -if __name__=='__main__': +if __name__ == '__main__': import nose - nose.runmodule(argv=['-s','--with-doctest'], exit=False) - + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py index e18b735e8647..41e98fcc9cc4 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py @@ -1,11 +1,7 @@ from __future__ import print_function -import copy - - import numpy as np - import matplotlib.pyplot as plt import matplotlib.patches as mpatches import matplotlib.path as mpath @@ -93,16 +89,6 @@ def test_collection_transform_of_none(): assert isinstance(c._transOffset, mtrans.IdentityTransform) -def test_point_in_path(): - # Test #1787 - verts2 = [(0,0), (0,1), (1,1), (1,0), (0,0)] - - path = mpath.Path(verts2, closed=True) - points = [(0.5,0.5), (1.5,0.5)] - - assert np.all(path.contains_points(points) == [True, False]) - - @image_comparison(baseline_images=["clip_path_clipping"], remove_text=True) def test_clipping(): exterior = mpath.Path.unit_rectangle().deepcopy() @@ -134,6 +120,6 @@ def test_clipping(): ax1.set_ylim([-3, 3]) -if __name__=='__main__': +if __name__ == '__main__': import nose - nose.runmodule(argv=['-s','--with-doctest'], exit=False) + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_coding_standards.py b/lib/matplotlib/tests/test_coding_standards.py index 21de282fe895..a23ac85e2490 100644 --- a/lib/matplotlib/tests/test_coding_standards.py +++ b/lib/matplotlib/tests/test_coding_standards.py @@ -62,10 +62,6 @@ class StandardReportWithExclusions(pep8.StandardReport): '*/matplotlib/tri/tripcolor.py', '*/matplotlib/tri/triplot.py', '*/matplotlib/tests/__init__.py', - '*/matplotlib/tests/test_agg.py', - '*/matplotlib/tests/test_animation.py', - '*/matplotlib/tests/test_arrow_patches.py', - '*/matplotlib/tests/test_artist.py', '*/matplotlib/tests/test_axes.py', '*/matplotlib/tests/test_backend_pdf.py', '*/matplotlib/tests/test_backend_pgf.py', diff --git a/lib/matplotlib/tests/test_path.py b/lib/matplotlib/tests/test_path.py index 429ee7f4e17b..e49626979fbc 100644 --- a/lib/matplotlib/tests/test_path.py +++ b/lib/matplotlib/tests/test_path.py @@ -1,3 +1,5 @@ +import numpy as np + from matplotlib.path import Path from nose.tools import assert_raises @@ -11,6 +13,16 @@ def modify_vertices(): assert_raises(AttributeError, modify_vertices) +def test_point_in_path(): + # Test #1787 + verts2 = [(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)] + + path = Path(verts2, closed=True) + points = [(0.5, 0.5), (1.5, 0.5)] + + assert np.all(path.contains_points(points) == [True, False]) + + if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) From 15c8c9058476a051a2174a824c0c5d0a29742dfb Mon Sep 17 00:00:00 2001 From: Phil Elson Date: Fri, 24 May 2013 10:04:28 +0100 Subject: [PATCH 005/329] All tests starting with a p now PEP8 compliant. --- lib/matplotlib/tests/__init__.py | 13 +++-- lib/matplotlib/tests/test_animation.py | 4 +- lib/matplotlib/tests/test_backend_pdf.py | 11 +++- lib/matplotlib/tests/test_backend_pgf.py | 24 ++++---- lib/matplotlib/tests/test_backend_svg.py | 32 ++++++----- lib/matplotlib/tests/test_basic.py | 21 +++++-- lib/matplotlib/tests/test_bbox_tight.py | 26 +++++---- lib/matplotlib/tests/test_coding_standards.py | 9 --- lib/matplotlib/tests/test_patches.py | 55 ++++++++----------- lib/matplotlib/tests/test_pickle.py | 35 +++++------- lib/matplotlib/tests/test_png.py | 17 +++--- 11 files changed, 128 insertions(+), 119 deletions(-) diff --git a/lib/matplotlib/tests/__init__.py b/lib/matplotlib/tests/__init__.py index 995ba452dbfa..38ab2bca6f68 100644 --- a/lib/matplotlib/tests/__init__.py +++ b/lib/matplotlib/tests/__init__.py @@ -1,28 +1,31 @@ from __future__ import print_function -from matplotlib import rcParams, rcdefaults, use import difflib +from matplotlib import rcParams, rcdefaults, use + _multiprocess_can_split_ = True def setup(): - use('Agg', warn=False) # use Agg backend for these tests + use('Agg', warn=False) # use Agg backend for these tests # These settings *must* be hardcoded for running the comparison # tests and are not necessarily the default values as specified in # rcsetup.py - rcdefaults() # Start with all defaults + rcdefaults() # Start with all defaults rcParams['font.family'] = 'Bitstream Vera Sans' rcParams['text.hinting'] = False rcParams['text.hinting_factor'] = 8 def assert_str_equal(reference_str, test_str, - format_str='String {str1} and {str2} do not match:\n{differences}'): + format_str=('String {str1} and {str2} do not ' + 'match:\n{differences}')): """ - Assert the two strings are equal. If not, fail and print their diffs using difflib. + Assert the two strings are equal. If not, fail and print their + diffs using difflib. """ if reference_str != test_str: diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index 75ddbc2cf242..a86dddf85eb1 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -48,6 +48,6 @@ def animate(i): anim.save(F.name, fps=30, writer=writer) -if __name__ == '__main__': +if __name__ == "__main__": import nose - nose.runmodule() + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_backend_pdf.py b/lib/matplotlib/tests/test_backend_pdf.py index 091205a51624..2510f357d50a 100644 --- a/lib/matplotlib/tests/test_backend_pdf.py +++ b/lib/matplotlib/tests/test_backend_pdf.py @@ -1,9 +1,11 @@ # -*- encoding: utf-8 -*- +import io from matplotlib import rcParams from matplotlib import pyplot as plt from matplotlib.testing.decorators import image_comparison, knownfailureif + @image_comparison(baseline_images=['pdf_use14corefonts'], extensions=['pdf']) def test_use14corefonts(): rcParams['pdf.use14corefonts'] = True @@ -24,11 +26,14 @@ def test_use14corefonts(): def test_type42(): - import io - rcParams['pdf.fonttype'] = 42 fig = plt.figure() ax = fig.add_subplot(111) - ax.plot([1,2,3]) + ax.plot([1, 2, 3]) fig.savefig(io.BytesIO()) + + +if __name__ == "__main__": + import nose + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 8f922e7727f0..3c864b2bf96c 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -1,16 +1,18 @@ # -*- encoding: utf-8 -*- - import os import shutil + import numpy as np import nose from nose.plugins.skip import SkipTest + import matplotlib as mpl import matplotlib.pyplot as plt from matplotlib.compat import subprocess from matplotlib.testing.compare import compare_images, ImageComparisonFailure from matplotlib.testing.decorators import _image_directories + baseline_dir, result_dir = _image_directories(lambda: 'dummy func') @@ -59,18 +61,20 @@ def compare_figure(fname): shutil.copyfile(os.path.join(baseline_dir, fname), expected) err = compare_images(expected, actual, tol=14) if err: - raise ImageComparisonFailure('images not close: %s vs. %s' % (actual, expected)) + raise ImageComparisonFailure('images not close: %s vs. ' + '%s' % (actual, expected)) -############################################################################### def create_figure(): plt.figure() x = np.linspace(0, 1, 15) - plt.plot(x, x**2, "b-") - plt.plot(x, 1-x**2, "g>") + plt.plot(x, x ** 2, "b-") + plt.plot(x, 1 - x**2, "g>") plt.plot([0.9], [0.5], "ro", markersize=3) - plt.text(0.9, 0.5, u'unicode (ü, °, µ) and math ($\\mu_i = x_i^2$)', ha='right', fontsize=20) - plt.ylabel(u'sans-serif with math $\\frac{\\sqrt{x}}{y^2}$..', family='sans-serif') + plt.text(0.9, 0.5, u'unicode (ü, °, µ) and math ($\\mu_i = x_i^2$)', + ha='right', fontsize=20) + plt.ylabel(u'sans-serif with math $\\frac{\\sqrt{x}}{y^2}$..', + family='sans-serif') # test compiling a figure to pdf with xelatex @@ -80,7 +84,7 @@ def test_xelatex(): raise SkipTest('xelatex + pgf is required') rc_xelatex = {'font.family': 'serif', - 'pgf.rcfonts': False,} + 'pgf.rcfonts': False} mpl.rcParams.update(rc_xelatex) create_figure() compare_figure('pgf_xelatex.pdf') @@ -128,7 +132,7 @@ def test_rcupdate(): for i, rc_set in enumerate(rc_sets): mpl.rcParams.update(rc_set) create_figure() - compare_figure('pgf_rcupdate%d.pdf' % (i+1)) + compare_figure('pgf_rcupdate%d.pdf' % (i + 1)) # test backend-side clipping, since large numbers are not supported by TeX @@ -147,4 +151,4 @@ def test_pathclip(): if __name__ == '__main__': import nose - nose.runmodule(argv=['-s','--with-doctest'], exit=False) + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_backend_svg.py b/lib/matplotlib/tests/test_backend_svg.py index 9372f62ba2b9..c7d6c2a1f55e 100644 --- a/lib/matplotlib/tests/test_backend_svg.py +++ b/lib/matplotlib/tests/test_backend_svg.py @@ -1,43 +1,49 @@ from __future__ import print_function -import matplotlib.pyplot as plt -import numpy as np -import sys from io import BytesIO import xml.parsers.expat -from matplotlib.testing.decorators import knownfailureif, cleanup + +import numpy as np + +import matplotlib.pyplot as plt +from matplotlib.testing.decorators import cleanup from matplotlib.testing.decorators import image_comparison + @cleanup def test_visibility(): - # This is SF 2856495. See - # https://sourceforge.net/tracker/?func=detail&aid=2856495&group_id=80706&atid=560720 - fig=plt.figure() - ax=fig.add_subplot(1,1,1) + fig = plt.figure() + ax = fig.add_subplot(111) - x = np.linspace(0,4*np.pi,50) + x = np.linspace(0, 4 * np.pi, 50) y = np.sin(x) yerr = np.ones_like(y) - a,b,c=ax.errorbar(x,y,yerr=yerr,fmt='ko') + a, b, c = ax.errorbar(x, y, yerr=yerr, fmt='ko') for artist in b: artist.set_visible(False) fd = BytesIO() - fig.savefig(fd,format='svg') + fig.savefig(fd, format='svg') fd.seek(0) buf = fd.read() fd.close() parser = xml.parsers.expat.ParserCreate() - parser.Parse(buf) # this will raise ExpatError if the svg is invalid + parser.Parse(buf) # this will raise ExpatError if the svg is invalid + @image_comparison(baseline_images=['noscale'], remove_text=True) def test_noscale(): X, Y = np.meshgrid(np.arange(-5, 5, 1), np.arange(-5, 5, 1)) - Z = np.sin(Y**2) + Z = np.sin(Y ** 2) fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.imshow(Z, cmap='gray') plt.rcParams['svg.image_noscale'] = True + + +if __name__ == '__main__': + import nose + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_basic.py b/lib/matplotlib/tests/test_basic.py index a77ccc87ab3e..83b6eae160c5 100644 --- a/lib/matplotlib/tests/test_basic.py +++ b/lib/matplotlib/tests/test_basic.py @@ -1,16 +1,21 @@ from __future__ import print_function + from nose.tools import assert_equal + from matplotlib.testing.decorators import knownfailureif -import sys +from pylab import * + def test_simple(): - assert_equal(1+1,2) + assert_equal(1 + 1, 2) + @knownfailureif(True) def test_simple_knownfail(): - assert_equal(1+1,3) + # Test the known fail mechanism. + assert_equal(1 + 1, 3) + -from pylab import * def test_override_builtins(): ok_to_override = set([ '__name__', @@ -20,7 +25,6 @@ def test_override_builtins(): 'all', 'sum' ]) - if sys.version_info[0] >= 3: builtins = sys.modules['builtins'] else: @@ -30,8 +34,13 @@ def test_override_builtins(): for key in globals().keys(): if key in dir(builtins): if (globals()[key] != getattr(builtins, key) and - key not in ok_to_override): + key not in ok_to_override): print("'%s' was overridden in globals()." % key) overridden = True assert not overridden + + +if __name__ == '__main__': + import nose + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_bbox_tight.py b/lib/matplotlib/tests/test_bbox_tight.py index 7c5ff810a2a5..b5d167731294 100644 --- a/lib/matplotlib/tests/test_bbox_tight.py +++ b/lib/matplotlib/tests/test_bbox_tight.py @@ -1,22 +1,26 @@ +from __future__ import print_function + +import numpy as np + from matplotlib import rcParams, rcParamsDefault from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt import matplotlib.path as mpath import matplotlib.patches as mpatches from matplotlib.ticker import FuncFormatter -import numpy as np + @image_comparison(baseline_images=['bbox_inches_tight'], remove_text=True, savefig_kwarg=dict(bbox_inches='tight'), tol=15) def test_bbox_inches_tight(): - "Test that a figure saved using bbox_inches'tight' is clipped right" + #: Test that a figure saved using bbox_inches='tight' is clipped right rcParams.update(rcParamsDefault) - data = [[ 66386, 174296, 75131, 577908, 32015], - [ 58230, 381139, 78045, 99308, 160454], - [ 89135, 80552, 152558, 497981, 603535], - [ 78415, 81858, 150656, 193263, 69638], - [ 139361, 331509, 343164, 781380, 52269]] + data = [[66386, 174296, 75131, 577908, 32015], + [58230, 381139, 78045, 99308, 160454], + [89135, 80552, 152558, 497981, 603535], + [78415, 81858, 150656, 193263, 69638], + [139361, 331509, 343164, 781380, 52269]] colLabels = rowLabels = [''] * 5 @@ -26,13 +30,13 @@ def test_bbox_inches_tight(): width = 0.4 # the width of the bars yoff = np.array([0.0] * len(colLabels)) # the bottom values for stacked bar chart - fig, ax = plt.subplots(1,1) + fig, ax = plt.subplots(1, 1) for row in xrange(rows): plt.bar(ind, data[row], width, bottom=yoff) yoff = yoff + data[row] cellText.append(['']) plt.xticks([]) - plt.legend([''] * 5, loc = (1.2, 0.2)) + plt.legend([''] * 5, loc=(1.2, 0.2)) # Add a table at the bottom of the axes cellText.reverse() the_table = plt.table(cellText=cellText, @@ -71,8 +75,8 @@ def test_bbox_inches_tight_clipping(): # make a massive rectangle and clip it with a path patch = mpatches.Rectangle([-50, -50], 100, 100, - transform=ax.transData, - facecolor='blue', alpha=0.5) + transform=ax.transData, + facecolor='blue', alpha=0.5) path = mpath.Path.unit_regular_star(5).deepcopy() path.vertices *= 0.25 diff --git a/lib/matplotlib/tests/test_coding_standards.py b/lib/matplotlib/tests/test_coding_standards.py index a23ac85e2490..6c0bcd50db1c 100644 --- a/lib/matplotlib/tests/test_coding_standards.py +++ b/lib/matplotlib/tests/test_coding_standards.py @@ -61,13 +61,7 @@ class StandardReportWithExclusions(pep8.StandardReport): '*/matplotlib/tri/triinterpolate.py', '*/matplotlib/tri/tripcolor.py', '*/matplotlib/tri/triplot.py', - '*/matplotlib/tests/__init__.py', '*/matplotlib/tests/test_axes.py', - '*/matplotlib/tests/test_backend_pdf.py', - '*/matplotlib/tests/test_backend_pgf.py', - '*/matplotlib/tests/test_backend_svg.py', - '*/matplotlib/tests/test_basic.py', - '*/matplotlib/tests/test_bbox_tight.py', '*/matplotlib/tests/test_dates.py', '*/matplotlib/tests/test_delaunay.py', '*/matplotlib/tests/test_dviread.py', @@ -75,9 +69,6 @@ class StandardReportWithExclusions(pep8.StandardReport): '*/matplotlib/tests/test_legend.py', '*/matplotlib/tests/test_lines.py', '*/matplotlib/tests/test_mathtext.py', - '*/matplotlib/tests/test_patches.py', - '*/matplotlib/tests/test_pickle.py', - '*/matplotlib/tests/test_png.py', '*/matplotlib/tests/test_rcparams.py', '*/matplotlib/tests/test_simplification.py', '*/matplotlib/tests/test_spines.py', diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py index 27b3d7ec65bf..74f9f0ad3054 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -1,10 +1,7 @@ -""" -Tests specific to the patches module. -""" - import numpy as np from numpy.testing import assert_array_equal from numpy.testing import assert_almost_equal + from matplotlib.patches import Polygon from matplotlib.patches import Rectangle from matplotlib.testing.decorators import image_comparison @@ -16,15 +13,14 @@ def test_Polygon_close(): - """ - Github issue #1018 identified a bug in the Polygon handling - of the closed attribute; the path was not getting closed - when set_xy was used to set the vertices. - """ + #: Github issue #1018 identified a bug in the Polygon handling + #: of the closed attribute; the path was not getting closed + #: when set_xy was used to set the vertices. + # open set of vertices: - xy = [[0,0], [0,1], [1,1]] + xy = [[0, 0], [0, 1], [1, 1]] # closed set: - xyclosed = xy + [[0,0]] + xyclosed = xy + [[0, 0]] # start with open path and close it: p = Polygon(xy, closed=True) @@ -136,13 +132,11 @@ def test_patch_alpha_coloring(): ax.set_ylim([-1, 2]) - @image_comparison(baseline_images=['patch_alpha_override'], remove_text=True) def test_patch_alpha_override(): - """ - Test checks that specifying an alpha attribute for a patch or collection - will override any alpha component of the facecolor or edgecolor. - """ + #: Test checks that specifying an alpha attribute for a patch or + #: collection will override any alpha component of the facecolor + #: or edgecolor. star = mpath.Path.unit_regular_star(6) circle = mpath.Path.unit_circle() # concatenate the star with an internal cutout of the circle @@ -170,13 +164,11 @@ def test_patch_alpha_override(): ax.set_ylim([-1, 2]) - -@image_comparison(baseline_images=['patch_custom_linestyle'], remove_text=True) +@image_comparison(baseline_images=['patch_custom_linestyle'], + remove_text=True) def test_patch_custom_linestyle(): - """ - A test to check that patches and collections accept custom dash patterns - as linestyle and that they display correctly. - """ + #: A test to check that patches and collections accept custom dash + #: patterns as linestyle and that they display correctly. star = mpath.Path.unit_regular_star(6) circle = mpath.Path.unit_circle() # concatenate the star with an internal cutout of the circle @@ -187,24 +179,21 @@ def test_patch_custom_linestyle(): ax = plt.axes() patch = mpatches.PathPatch(cut_star1, - linewidth=5, linestyle=(0.0, (5.0, 7.0, 10.0, 7.0)), - facecolor=(1, 0, 0), - edgecolor=(0, 0, 1)) + linewidth=5, linestyle=(0.0, (5.0, 7.0, 10.0, 7.0)), + facecolor=(1, 0, 0), + edgecolor=(0, 0, 1)) ax.add_patch(patch) col = mcollections.PathCollection([cut_star2], - linewidth=5, linestyles=[(0.0, (5.0, 7.0, 10.0, 7.0))], - facecolor=(1, 0, 0), - edgecolor=(0, 0, 1)) + linewidth=5, linestyles=[(0.0, (5.0, 7.0, 10.0, 7.0))], + facecolor=(1, 0, 0), + edgecolor=(0, 0, 1)) ax.add_collection(col) ax.set_xlim([-1, 2]) ax.set_ylim([-1, 2]) - - - -if __name__=='__main__': +if __name__ == '__main__': import nose - nose.runmodule(argv=['-s','--with-doctest'], exit=False) + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py index 7889be2e92a4..9c6127cd9612 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -1,18 +1,15 @@ from __future__ import print_function +# cpickle is faster, pickle gives better exceptions +import cPickle as pickle +#import pickle +from io import BytesIO +from nose.tools import assert_equal, assert_not_equal import numpy as np from matplotlib.testing.decorators import cleanup, image_comparison import matplotlib.pyplot as plt -from nose.tools import assert_equal, assert_not_equal - -# cpickle is faster, pickle gives better exceptions -import cPickle as pickle -#import pickle - -from io import BytesIO - def depth_getter(obj, current_depth=0, @@ -44,9 +41,10 @@ def depth_getter(obj, if isinstance(obj, (list, tuple)): for i, item in enumerate(obj): - depth_getter(item, current_depth=current_depth+1, + depth_getter(item, current_depth=current_depth + 1, depth_stack=depth_stack, - nest_info='list/tuple item #%s in (%s)' % (i, nest_info)) + nest_info=('list/tuple item #%s in ' + '(%s)' % (i, nest_info))) else: if isinstance(obj, dict): state = obj @@ -60,13 +58,10 @@ def depth_getter(obj, state = {} for key, value in state.iteritems(): - depth_getter(value, current_depth=current_depth+1, + depth_getter(value, current_depth=current_depth + 1, depth_stack=depth_stack, - nest_info='attribute "%s" in (%s)' % (key, nest_info)) - - # for instancemethod picklability (and some other issues), uncommenting - # the following may be helpful -# print([(name, dobj.__class__) for name, dobj in state.iteritems()], ': ', nest_info, ';', type(obj)) + nest_info=('attribute "%s" in ' + '(%s)' % (key, nest_info))) return depth_stack @@ -90,7 +85,8 @@ def recursive_pickle(top_obj): pickle.dump(obj, BytesIO(), pickle.HIGHEST_PROTOCOL) except Exception, err: print(obj) - print('Failed to pickle %s. \n Type: %s. Traceback follows:' % (location, type(obj))) + print('Failed to pickle %s. \n Type: %s. Traceback ' + 'follows:' % (location, type(obj))) raise @@ -114,7 +110,7 @@ def test_simple(): # ax = plt.subplot(121, projection='hammer') # recursive_pickle(ax, 'figure') # pickle.dump(ax, BytesIO(), pickle.HIGHEST_PROTOCOL) - + plt.figure() plt.bar(left=range(10), height=range(10)) pickle.dump(plt.gca(), BytesIO(), pickle.HIGHEST_PROTOCOL) @@ -138,7 +134,7 @@ def test_complete(): data = u = v = np.linspace(0, 10, 80).reshape(10, 8) v = np.sin(v * -0.6) - plt.subplot(3,3,1) + plt.subplot(331) plt.plot(range(10)) plt.subplot(3, 3, 2) @@ -148,7 +144,6 @@ def test_complete(): plt.subplot(3, 3, 3) plt.pcolormesh(data) - plt.subplot(3, 3, 4) plt.imshow(data) diff --git a/lib/matplotlib/tests/test_png.py b/lib/matplotlib/tests/test_png.py index 08351b4d05c0..9fd52a6d9620 100644 --- a/lib/matplotlib/tests/test_png.py +++ b/lib/matplotlib/tests/test_png.py @@ -1,10 +1,13 @@ -from matplotlib.testing.decorators import image_comparison, knownfailureif -from matplotlib import pyplot as plt -import matplotlib.cm as cm import glob import os + import numpy as np +from matplotlib.testing.decorators import image_comparison +from matplotlib import pyplot as plt +import matplotlib.cm as cm + + @image_comparison(baseline_images=['pngsuite'], extensions=['png']) def test_pngsuite(): dirname = os.path.join( @@ -18,11 +21,11 @@ def test_pngsuite(): for i, fname in enumerate(files): data = plt.imread(fname) - cmap = None # use default colormap - if data.ndim==2: + cmap = None # use default colormap + if data.ndim == 2: # keep grayscale images gray cmap = cm.gray - plt.imshow(data, extent=[i,i+1,0,1], cmap=cmap) + plt.imshow(data, extent=[i, i + 1, 0, 1], cmap=cmap) plt.gca().patch.set_facecolor("#ddffff") plt.gca().set_xlim(0, len(files)) @@ -31,7 +34,7 @@ def test_pngsuite(): def test_imread_png_uint16(): from matplotlib import _png img = _png.read_png_int(os.path.join(os.path.dirname(__file__), - 'baseline_images/test_png/uint16.png')) + 'baseline_images/test_png/uint16.png')) assert (img.dtype == np.uint16) assert np.sum(img.flatten()) == 134184960 From d48a830f07a8fca1f5dac328fc180856ca82570a Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Fri, 24 May 2013 13:00:34 -0400 Subject: [PATCH 006/329] Only display warning when config file (not config directory) still exists. --- lib/matplotlib/__init__.py | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index e269f0706633..0b5a5d45596f 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -544,23 +544,10 @@ def _get_config_or_cache_dir(xdg_base): return configdir h = get_home() - if sys.platform.startswith('linux'): - xdg_path = os.path.join(xdg_base, 'matplotlib') - - p = os.path.join(h, '.matplotlib') - if os.path.exists(p): - warnings.warn( - "Found matplotlib configuration in ~/.matplotlib. " - "To conform with the XDG base directory standard, " - "this configuration directory has been deprecated " - "on Linux, and the new location is now %r. Please " - "move your configuration there to ensure that " - "matplotlib will continue to find it in the future." % - xdg_path) - else: - p = xdg_path - else: - p = os.path.join(h, '.matplotlib') + p = os.path.join(h, '.matplotlib') + if (sys.platform.startswith('linux') and + not os.path.exists(p)): + p = _get_xdg_config_dir() if os.path.exists(p): if not _is_writable_dir(p): @@ -726,6 +713,17 @@ def matplotlib_fname(): if configdir is not None: fname = os.path.join(configdir, 'matplotlibrc') if os.path.exists(fname): + if (sys.platform.startswith('linux') and + fname == os.path.join( + get_home(), '.matplotlib', 'matplotlibrc')): + warnings.warn( + "Found matplotlib configuration in ~/.matplotlib. " + "To conform with the XDG base directory standard, " + "this configuration location has been deprecated " + "on Linux, and the new location is now %r. Please " + "move your configuration there to ensure that " + "matplotlib will continue to find it in the future." % + _get_xdg_config_dir()) return fname path = get_data_path() # guaranteed to exist or raise From 44b51ac7fb586b809757ed915419f541cd487266 Mon Sep 17 00:00:00 2001 From: pelson Date: Fri, 24 May 2013 20:25:34 +0100 Subject: [PATCH 007/329] Reverted PEP8 fix on bbox_tight test. --- lib/matplotlib/tests/test_bbox_tight.py | 10 +++++----- lib/matplotlib/tests/test_coding_standards.py | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/tests/test_bbox_tight.py b/lib/matplotlib/tests/test_bbox_tight.py index b5d167731294..05362219406e 100644 --- a/lib/matplotlib/tests/test_bbox_tight.py +++ b/lib/matplotlib/tests/test_bbox_tight.py @@ -16,11 +16,11 @@ def test_bbox_inches_tight(): #: Test that a figure saved using bbox_inches='tight' is clipped right rcParams.update(rcParamsDefault) - data = [[66386, 174296, 75131, 577908, 32015], - [58230, 381139, 78045, 99308, 160454], - [89135, 80552, 152558, 497981, 603535], - [78415, 81858, 150656, 193263, 69638], - [139361, 331509, 343164, 781380, 52269]] + data = [[ 66386, 174296, 75131, 577908, 32015], + [ 58230, 381139, 78045, 99308, 160454], + [ 89135, 80552, 152558, 497981, 603535], + [ 78415, 81858, 150656, 193263, 69638], + [139361, 331509, 343164, 781380, 52269]] colLabels = rowLabels = [''] * 5 diff --git a/lib/matplotlib/tests/test_coding_standards.py b/lib/matplotlib/tests/test_coding_standards.py index 6c0bcd50db1c..5e5fa7ba2210 100644 --- a/lib/matplotlib/tests/test_coding_standards.py +++ b/lib/matplotlib/tests/test_coding_standards.py @@ -62,6 +62,7 @@ class StandardReportWithExclusions(pep8.StandardReport): '*/matplotlib/tri/tripcolor.py', '*/matplotlib/tri/triplot.py', '*/matplotlib/tests/test_axes.py', + '*/matplotlib/tests/test_bbox_tight.py', '*/matplotlib/tests/test_dates.py', '*/matplotlib/tests/test_delaunay.py', '*/matplotlib/tests/test_dviread.py', From 59ac0e6233ca7ab1f32ba0cf84bc07842fbec0f7 Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Thu, 23 May 2013 11:01:18 -1000 Subject: [PATCH 008/329] Let _pcolorargs handle the shape of C, checking compatibility with X and Y --- lib/matplotlib/axes.py | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/lib/matplotlib/axes.py b/lib/matplotlib/axes.py index 8b8f2587c3c1..e45602d0419a 100644 --- a/lib/matplotlib/axes.py +++ b/lib/matplotlib/axes.py @@ -7316,13 +7316,15 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, return im - def _pcolorargs(self, funcname, *args): + def _pcolorargs(self, funcname, *args, **kw): + allmatch = kw.pop("allmatch", False) if len(args) == 1: C = args[0] numRows, numCols = C.shape X, Y = np.meshgrid(np.arange(numCols + 1), np.arange(numRows + 1)) elif len(args) == 3: X, Y, C = args + numRows, numCols = C.shape else: raise TypeError( 'Illegal arguments to %s; see help(%s)' % (funcname, funcname)) @@ -7339,6 +7341,15 @@ def _pcolorargs(self, funcname, *args): raise TypeError( 'Incompatible X, Y inputs to %s; see help(%s)' % ( funcname, funcname)) + if allmatch: + if not (Nx == numCols and Ny == numRows): + raise TypeError('Dimensions of C are incompatible with' + ' X and/or Y; see help(%s)' % (funcname,)) + else: + if not (numCols in (Nx, Nx-1) and numRows in (Ny, Ny-1)): + raise TypeError('Dimensions of C are incompatible with' + ' X and/or Y; see help(%s)' % (funcname,)) + C = C[:Ny-1, :Nx-1] return X, Y, C @docstring.dedent_interpd @@ -7439,7 +7450,7 @@ def pcolor(self, *args, **kwargs): x = np.arange(5) y = np.arange(3) - X, Y = meshgrid(x,y) + X, Y = np.meshgrid(x, y) is equivalent to:: @@ -7453,9 +7464,9 @@ def pcolor(self, *args, **kwargs): so if you have:: - C = rand( len(x), len(y)) + C = rand(len(x), len(y)) - then you need:: + then you need to transpose C:: pcolor(X, Y, C.T) @@ -7504,7 +7515,7 @@ def pcolor(self, *args, **kwargs): '1.2', 'shading', alternative='edgecolors', obj_type='option') shading = kwargs.pop('shading', 'flat') - X, Y, C = self._pcolorargs('pcolor', *args) + X, Y, C = self._pcolorargs('pcolor', *args, allmatch=False) Ny, Nx = X.shape # convert to MA, if necessary. @@ -7515,7 +7526,7 @@ def pcolor(self, *args, **kwargs): xymask = (mask[0:-1, 0:-1] + mask[1:, 1:] + mask[0:-1, 1:] + mask[1:, 0:-1]) # don't plot if C or any of the surrounding vertices are masked. - mask = ma.getmaskarray(C)[0:Ny - 1, 0:Nx - 1] + xymask + mask = ma.getmaskarray(C) + xymask newaxis = np.newaxis compress = np.compress @@ -7693,15 +7704,13 @@ def pcolormesh(self, *args, **kwargs): antialiased = kwargs.pop('antialiased', False) kwargs.setdefault('edgecolors', 'None') - X, Y, C = self._pcolorargs('pcolormesh', *args) + allmatch = (shading == 'gouraud') + + X, Y, C = self._pcolorargs('pcolormesh', *args, allmatch=allmatch) Ny, Nx = X.shape # convert to one dimensional arrays - if shading != 'gouraud': - C = ma.ravel(C[0:Ny - 1, 0:Nx - 1]) # data point in each cell is - # value at lower left corner - else: - C = C.ravel() + C = C.ravel() X = X.ravel() Y = Y.ravel() From 86e5eefb847b82532e1d3b80f9da6c1be44e54b7 Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Fri, 24 May 2013 11:42:01 -1000 Subject: [PATCH 009/329] Fix error in test_pre_transform_plotting. This error was revealed by the new checking in _pcolorargs. --- .../test_transforms/pre_transform_data.pdf | Bin 231249 -> 231401 bytes .../test_transforms/pre_transform_data.png | Bin 80872 -> 80945 bytes .../test_transforms/pre_transform_data.svg | 1576 ++++++++--------- lib/matplotlib/tests/test_transforms.py | 54 +- 4 files changed, 815 insertions(+), 815 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.pdf b/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.pdf index 192890d2cd07c624e1644d43cec66c61ba1016be..9526a55043a5e8e96f86898327acdef314007721 100644 GIT binary patch delta 38240 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 W>3{!t^Q*VOl(%1f^~>LU^Y;I^_L*=1 delta 38326 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 diff --git a/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.png b/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.png index d6ad8e0114e140684441acd0f8f21fe8ceca230a..eff0430fe58ac5ea5e51dabe4213d8deef547a0b 100644 GIT binary patch literal 80945 zcmeGEhdY*k{6CCeB&En`Ns5Gw2+699k|Km;lTgXb$X=yk?-@lTNs^tAWUCaB>^;lg z`}a8CpZojy{f^^z+<(A*9Jk}>UA^PF&g*b>cwtp9WFL{3T`!ZR@pamoD`$iRQy=|+%82Y?Md;uwD+aL zB%d1o!y58Xh5QJ+G&y%%=kV$l$1aQf+u@z;9i@Mt?zF9syHhm3TP9A{|9MT}|M!LdAAOHH^gGFf_UzmD`2BkUO-FCyvwY)Hd%4|j4|m^~ zm5G+3bYm#~iGqTn=jV&_?j(fLCI73OFIO~ z#LeAZHP7r?>Y)=?o}W=ZdpPCrC&vQ^yGsKCC$CpkEuQG_bB&(1VUQr+{r{#6x08{P zy_+CUq3bUCKR-phug!GH*Cll}ws#X0CAJIywAIr!Xl~cX_YUx&l9TLx`cG9)@A&^K zZ^>;$>2p167`1nr8=-&T?M=_XkhHeEG;ORHBS03(bItbNeqXhK|29TwxbODEQXUo| zdhF}7_0LZG1P6=$84eWf`n)jS9_yy^xca}1#1-kgJt-;a8ze7LTPPby0l&6P-o8@>Su-u2{6SbaoypU7OjtvM~Nv zg~dnh;O-C;tL{&MCvVrYN=Pux|82QA+L#j9#?HxU)coe!(r|)j$XQp1T+;^fdw+kQ zI&gxWoq|{6?dSE?Mb%e|2ka-i4s~^P-En6kn$S7tnSnCgm+ASI>&8RhV!4Ct25RV; z#ceAl)@_ID18EM5^dtvMDokhjHtvY-UH^gm6MEvhWbyJ)+(=W}Zd{aqe|7M|JpbU} zi{6wpKhrf&=oLHBpLU#hn2^9y6?pJ=(?U;~_iL>zwxREFPjm~cdRHe)FIM{PwHa?a zbu6B!pu(`YxPx-Rhb z3=1tSt^L10^v&s-7xna*DQTD}A{A~nO*~=o_}p9mB7P zoF8i@D^^hdc<=9Hp__F*BMr$@b91sY;tcyw7}$>rxlB(_|M_5Z^qpSegD{TENygPd zHIcm0Usuk{%0@K!Zr{Zs84!E&wo!Y&rNc40$>P~v4*&k#H>&h2D=*)YbL)Gy`6fOx zD>m8G;v#XuQ*)zN;}*;tlD2BR(@RsdJ*Hr;DE*I)nK@t^?cu~L36hk9C<+;Ds;R|p zPu`m=tEc|9WLp3H-Q9gX&G8yJ12Z$VR4L_l8kz@BE()@9KE6@m6Z)sbb(>l9o53(i z+>M*+R8&-21y+Y{)yMnV4cDh|$%S(&y|-u;vgrPFNNRmOuT#kHN()8B8bu9MccNtwv$#s4G?}-h8XBtg-jHml{+T~Mot9;S zl&42HuNF224NCAlensjgHR?ni*M4u>z-B+**34afRKYL&=Q!P=Lo}p1zH9Q%&dxH) z4bsUCT$bPSE;D^?eemGH-MNt)?3^C7iC;WZDieQwFHgR>NYBVP66W#WyKZi*o}k>t z?9*52Z`|}+bzeA2mUeEWVaxE3go~vf>j7iw*U}%OfQ@GcYLzcb?%2!o@cffqg3GMY zy?g0Se<&(-Da_T$P<{4EvAe3Xv-6e1E9yfMd$25mTsyaKm&R9}#Pf>HPtM%oZ-<(H z)UOO)L^Xu^Y~OYGj1N%_s9KG7yc^3FO6t#_?{86kd5NC%8TAw4lBYxSO!*1AhgLv; zZ|@7Y!q|w+%oAhH=})eEt~bA%eXW+VBj2L+0WSVvGY30+Pi^=yrnQ^=SFe!!r<5F>gekpz8F<(t_%MZmUC|ZxZ77jHF*1(@@+xo!MaF6`wJOHamy?yHFfuX`iPovsqucx3sdtl>4it=v;lg zxS&~+DC1cdVXsT1K(hD;I%oHjk?E`ETWCkm`JbI1N4?TPJ%c64`TZgkH)$H|X2{gjl{j9$bR z!Oqwh9(-IoJMs39=O3J=*%l@`{a-1?oy*WTFMGG=Gg+=hD+5-tJYL-HI48^V=g%31 zOtxEf75k#Mm;d-d%M-an;@PfaSDp)-#)X80m<^i+p#qejNes>nls6sXjF6||#ujIr z9sUu0*H(dX�k+uoSJ8+&{EJb4ts+xgQo_N* zQ^#t6$<2-)nr%C%K(%XERD$P*c1K5t$;i(aoWY($-wu!w9aetUZZCa6m<>|lqF zkB~oF+)h%sE`Hh~2wRRh#|9I`K8)t*E5A_sj8|N>5Eh z>OZ-!S_Fm1j@V03QBz0U`u;T5-7?H->yAAkg2q)fad|-s--B1RANYk zV&B*OO1(nUCwt*S?OW}fmlmzrB9%6Fb~$O!_;jm-4sl3Gw8fq%_3^>vzck*K_spXs z;_iYI-$^6#Fj?$b*%UQjg%pN79m}aj3?HuXef)Y{g?7UlV_zeAkELEo5b;~YC%e;- z^r*4^`*$U5A#SF?s)6ZWf4AwRH`o2n&`q)K{?wRxU8=RvF4Z(oN7K>Yr{-mxs5Osw z8Wyi^W&ZErmq$B=9R6vgoY8!zr_ql=r*@}1?dmb&jx&qhm0nw4kDTGS9HkZTqS=gw z(h+wp;%oGYual*lR+txAoN2ACC6_u5>**CvhC^G`t-o)^onHjw7ErvZQbn6=SGmIHQh zk=Xh9>qn~#G+hp5-egylR^t*8(Wp<5I?^D_7H#(1vJrAwE5 z)Dq@)z8TQTH9bOliGtw#TOG`jS&=mu?=aDEM?Lk|XvE6RuTimqp~AlMl3x4h3vCDe z)T}4`v%mFC_g4$q^vQDTeR!|rJu4T;REtI$Ksk)<7HQS_(f7%dC*QZMqg)Q?i8q)E zXM3!>OwZ2dh^qqPg)^UZQ6K$L>^#e?AW7UL6cTXh^O~STrw5wSt}-w%7|qy)wb@HN zv!CeD9=)uhqVkmGm+GiZaa4l<=tyJ#ww0Fao_nP^KHnmfB|RgVQ+OS}{;8w6^C%nd zx%1}_1=$SOA3~WcKI(c|qF>~|-Ax@A9us4F?`Og(a}6?9j4{#nTiE~PL~(r2&pKAP zeb+7#?NYQrGFCpFT!Di}MMQp&WxYLgQPu?gh5V1>Wlg!=OiVmzpE(j-Kc1dSpPT5^ z1<5fH3QB38J#L9nmnRdCCfiy(`Tj=v0G3G3eR-kX`f9w}((3BhV?km>cffrruKIJqpLmMwBL5s?A&*ptG_DnD&^o1#kOt!IvM%q z?XyN#w2d@JHKxJw*lvU$F)?5ium#TYz}u&PD=H(j$C-5XSs>M==2u-G__M?9}jY{ zN^f)CT$gw^ahP5^#D3%c(E`Qi68Gx3C@NTH#C!|ETKK1? zrm8YuwfpyNdS)j3&QwSC&CCAs*UYGY&ud=7WVj_*<-LuT!b|v0W5tV4>KQuMNVAJS zPm(PsfUq#S*Yl{qX7%64m;H2vqxqfw=_1NCEU1Xz^g!+I+UIABn%yzK%<@^fJvU2; z`!?h;Q2$If->TD0NMn6vKCrF8qE!um+h~4%q^qQ850Cn#F6ZGxg^rWYEAu_q=cAi- zTY&FO=VRW59IiG$pft2W6JGYRns&~I{%FN_z5>z>`LJLW8@sP}7TP7)6r?a6SxGNJ z9(PqX&~69jNu##^ZdvKSKbmSc=OsnO099s8gw@4K(GSDz9lx>OMaN|S4(oLkJO45| zz3%m+<6(Of|wvKm~UI!J4PjUxEe@oqH*;y6LV!dY=?7K1FQa63| z@M(u{7S|1mosM8QtF--obL}$j9j0yz7 zh4Pyl>m0|Ae|xR(*>)NzFg~CIYZ4~=+X2}YP0Oy$9XkXITAEZihxDarm@i9Q$-Nslha2WiPJ=rU*U#i`Fy6U=ZSscy>L02e=mI~#tHXL?VMYYn3b*eK{hrvVId)g zEq`rMMT1%Z94Cv;jbN6iXk_S!9AiO)%TH&i4>Q0HqS_r||B%I$O@Vi1vk6U!AI&N} z>4Lw`+K( z`+-3m4XV&yJP9_dv~U}(v@SmNrSD^p=_jDhJ4xKv-b4t!yX0S?mikK`_aOz))OKyj zCTAQhuVII7KD!kf^d-ly8+OG*V#M6IwJgmdZY%rIVVnoBJsJ{-PRaf_pT;U6-kSq8 zp<&>${+qR)OTABKpr;%>`{P{duiDXHsW*E*-`9xd%P=VU_$@)Id+f~C+s+IBVq0&Y zQG6!RJS2Ai{{34&mVv=Ust*VldbP^__-!4>0=aB~>>i3Yr|^VszJ;KxGAL~3cN+uE z7cX82IZo)^0co(k_Onsry`hY6P*7A&&85-q($casROY%s_JLuKmzJCk2%Cn~F31nN z90HDm4)*HXX@FrN0AqE}vp^i2K*I%3JJ{XdrT=Ebm25?=Izm9cF5uor_E{$bgs}?&2*=ZvM61TC?wLrL1z|uhEx)CFIgiMXfPqE#w=nW=wVz z9!0kg1yrj=S3UHcSvevWd;Ow9)bTs_ru0zc|Fxe2z0m>&4h2TNL+yay17D+mSh$`z zaU#d}<;I&9Os4pG25wL*^SkXye7X%u7gE5?vu~6?wqHIT5+G@CnYKeFLIG%!DvX35LjNS>WeJy6u8x?^MQK7RNGUY0xHU6ICv{B9`%ynj5JGB`~EQaN1W5_ zcTxS;vrxMCxUS4`Go3Pf$gBB|v6+Thj1KR20e2a49yN(k(1-$j<t`uluB)S6=ijo;h!%PlPrR>WCTCb_SUiP`jtNp36|YdQw{_|#ZsWn~d!Nf3*a zm3m8-@x|jhxt9)96x{hmX_m(Xjeyd79nCixv&hHa|Ky+UU%z&v|2&C{i&NA1aQB8{ zyja7~z!rf|>t;Z=jOgvEMFX1BK%{0($1aX{l^jHeD$g@-A(T<*9Le}>ijp;?OfQu; z=D%Li0DAY2S>Z;Bvr9@ICWf2%HsX6=9y|&=Lx}M;AxD0W+ME7Nyx+)w{5ZAJQ(+l( z^@y^KiHV6n?{91&Rv(hMF$$7oc(*-_kC2S9V|b;uZQGWNfsY@Sv&1r+PR-&n1U%N9 zFo-JO8S6B@)jla~{`+`ypXyKrFYADssCAcYf~33Z$2r~CI(d}0emtiMl*850(>Iv& z3kuRh)cBKU9<8dMEEo9RVO+<_$%)Id$bR&}wR8eq!g7pa}?qiI-a9_Qm=wS!(dVm`Hzq81(8k;#_Z0vW2 zKbQ~q?r*1lWq;rJ`}_OS-^@}yFf%q68sF`btN%_8n#rl1GHW7yqtK%lcafyeogkGLsDSvxv1?Y8KBJOY=KaU4Tz1W0qR7zv22u)6xHH%iFDEd7V@k)|7j{sE8JVe(#%i z#9}JQ3P6)XrPsWEXFFI2)xBV**bk#O*SfoFghw7Krl3`aSa_{8yokuXISjjZH$Yoq zKJ7qFqCWho0P5A+#_FWpYJpjET@Sp6)8|vvdZ&8J8AU8&D(z0@QCK(bEhHqUUwii_ zHKD2ML4V#NZIP{Z$jd2wF^vI@VK03dv_k>c1&d^f>({UU>nz&uJUg_N1eN6lih@ue zRofvZ+!$+0lN$uRlLXk>Dk>^E$aA@Iz1!t4A4wXW4(gv_u4j?M_|KHf`!TGpaQ}s& z1n3RBQbJ4r)YrE2+jryo;V4N8$HYIN+FtljA>|xKLC=IFii}BXmsi`XtS{IY`G{*X2ezle5IxsF~1Z}1>m&^FTA%-0h! z!gsFZN-2ReYE?S?FLHFzLC&?L!8 zMAO*ErxWAG=_8I_j1@TM=H^Bsp(9uCzwUM;+frS94?*PBC85AUkK_vPYc@OeN-_2U zBurzxl*nRb2anb(Vxh9KGOa>?n+kup_cyAQYTCfSfRakSkphINSj=&P8RbH_C%pjf zHBo#AH`W)g$E_;GMyPzW`9H#}%{@)1vBl7>b{KTFr&(Y?G3?)eTQi4(^-4u7&YpHeW1`+qGko2G(~s4NI4nK-YArEVvgZaO1(%uJ+uD>8JfMUN4WX zN$Ub}ojf4v_F>@1^-E|%{DB8WBSDKleAJbV*wvhNwYraW1k#d*@fp{JZ)1jaQTI17 zRrsnH#qK654Vzd>JB>DSqzj@@GMBaGr69X+=fF zC43f3iPUd~a8UauCai>|>tj!*qGc-HA=K_P{i6KNE#uJXc?A(XNV(hl#i1JW+uNe6 zxb?N$&qNuy;ge{}>C?}pJgssQQYa|AmX?=mA5!gB<0F%Q8gbKvIa8c}b~CD0dg;E1 zHSYE1I{9ffueE|o-#FcycYY>@rWak59hJ4W&lUP3uc#>8iUEF>TpG5Ikw`ssnN)U` zAtzVYout-}_tINMRzB&KdUTq&LpExx>WF*-w5ns7W7f<=#(J|ZLa;rWFtiVS=A5*? zwPAD{;3f<*YI2zkCglLEK!u{$ues7xlOK0_|GU3s8_(obNE8vgn)MTmhzLYO+Ko}v zqoh4-aaR(qf}EyiM`vdWIveHit+AYwm}KGAi*s}88(kT?qUoA@##?O%YL37l3j<<> z`gH9j-ky+2skUzq@mOD}#dNv3wlpndH>B8F>goB^W1pHIVje_Ng}5K!t9`w_aqP=K ztxr~zm#?ut@G&^C;@Xzs{_713wRZXym%*cj@E&vmb{{;LPW|CH!8=JI*k!SATe>M{ zAuVeM82=U5p6MyuLdFV<1R{HK=O z6rV1^(Kv@|#LWM~#eM3&kGTvRbcva+j;^@4n01E2i&Oji(Se%YK|g-_(5--eg3Iit zt{tVGEVzbp1WGKrZkIo%AsL)K(iVo@M@|9(J)VCx{rje9>}f|U|JAW*p+iC@K9vqD zF7DmozoKC!bQ{IPn%Lr$XQryKms^d(Yrcge8J^*v+&jB5Ym*}i3kz@H)0sBDq#{Yn z3gC{TiN64xBjOj}Z^rl1T9HKHp=D|^6^3=?-4OQix5@XXd(D5pl`%AA)p)CQV}Usg zJZ;~Zvu9}tyJlOSPGHLA=stu%go-FK*9vz0{vov)0P&xkgw=k89`*vLSM1){o{8?# zV0chT$N@M!yKMGT>fUo943CKa2$rvJFR6Q>brmKM1k1 ztgFQJDl_(F65z9#>%wvL0*kIIn~9?4v{!ze5FG364egU`Ym5HyK`d@1$=aGfC`Mc8 zlr!^X`Q2nNI=%olG`zoY9&RO=Iytzz#@IEOl1fh>Lc{KX&hWv0lmTkMo%wkdNjI_V z+dp>E%K$RJH*evOTSZ>v%s^e_&Xc#kNoN^V{zRGPScV^Cg>**5cszE&b4R#^L_!}g zgWBHk!Nxc|3;rLGX`nuQh7myYOC+!6-PHw4x7G0ig*dhgem!4Llvdz=+?^l0=C(W- zT>}^5`|!|qPS)6%%bBGiWCo2n7Fd+c&UPIw*g*6owL;rd{^9(-HHBeayc64j9?1-p zqVk`3OjHF+ZJ1^~%aa`Y%g5L1iY`dTim(LdU#J)sE_}#6@R6vk$Q0f{f+LqETzSEu zjA4_}{Ooki%pL#fPatQMpiJ4Wi&p955HXePSb+?<+1LmxM8DtwG(~WU4j~GKRb}wZ*a%`rH7LP+>%8fM&)aDcRMm&z7_~vaQa`_;MkL z<(W!(#YP!VbhlcO(v6jLQV3r2X<+hozI44p+gt4;!NzyK>Rx`cQO%x}zKlM%D~X$T?S`QS5}V>3hF%>_|_ zq7nJEET8k?)1_EJBi`3PhY@_ob*zayMK8JG610?vkAMDX#nsogw6yd%QzJ&DF~+0u z)>N?SuWWJy<5_72FU15&{l30FLLDcUHv9edj_oFPS2!)B;>WEN6h1zeplcORR~^*Y z9g_KJMZuTl@L?-q`7;>fGkuji2@~uk#M4`v-k14G*B9a-dgG?wcmg^b{+QDhwbYtzn@zpd}nm(F(4RYxz5ZBN8~>IZNQvwUu9nRlN-v1!lWJe;(F}Y4vkN4 z&T%UDFb0(bv;__~KLU-3vk|fnY8H-pd z-P|au6#-s}LM`kdEzkYBV(DV|>L~OwUNjgXr^j`GF(!z}QKtK*HJin4jHftaum@3H zlK4VvKNgGH@+_Tl+4)|^Yjby=L|m>_=kI3yqjl;auPN00htD{L^ohw^Z)#^5U3fD$ z4ycF1GZzpzc=A?2r%hP*K7?_Oz_@4CJozfVguh$}-_753>vz{Az&c81=@+~*NfhJZ9oO2_$R4zFbv*O@*DacORwe+Z& zS^V5hs7E3kETjQ2U5%gyn49621TnsQEgb-Qmws$+C3^h;evtDoq1VDRi$ZxE&?~Eb z{l7qMq-h%KKRr`-^fTT4vXkedc9L>RS$%6HSGu)H1Av;lDjTKVW`Gi=HJxUw4mfbK z%GB_BhR&&E=e@qZzMT8dH%KuHjcOoZiae+7;)Fg&p}74>h*E(8#}#Qb{(!^Mue*1^ zuw)99!*8!6@~k@B`jU3kLmM3cN8ukoZ`R}V-9|4xSm+r7g-0Y-xV^4~H5ae6cHL|B ztMR?*O|d+zHLYG==n1S!$h zA$aRVc#Bw;{mFy7QCJ#=K}Hmsl&aloKQaRg>k&NCuzWVtLk&+BSW#=?{<$Mgz)O5x7)x z=(Ix*mWT2tcKvx`naN{Enw~k&lou-LtI39CY<0h^d}}-~Efg4}K=X4g z+eIp~ker(8a-Ae2@f#GIF37ma*4q!(?LBT#{3lTn{1bYZ$haq{MF5Lb*K0Q@A$RTU zPICSIlXVn2&#M19!c(tw4cG}l#~ zkM{I+5w%-;&cZ`0oje`92Y7j^BrTJ0%?qcMRA#{DgGfLI zm9HOFpn)s-P&pM>(3~EvRIsb_gUuG0!xivIXzKj;@;<&IwchmF9e`D(*vWJpd?_EUf(UPNMUr9J1L#DQ2!~-}Z3CJi z2137*Ei57x42HzCQ&6(~Eqy2dFg zgzeb5)4Q}(3e#5cH|+r-3URw3;i65nL_x?8xGrkK0JsNpP4p7^V|+wJiTc2mH0p;U z(FBvQz9M-_ii#CT3xr~E)9$@k8U_NrB zlI$PZ`~8j+ONq|2Q6KL1KJa(FIG_V&tolxkz4Szv0r-^@;363befd17_n`?ERWn5G zG&PJbD|j}S#lu-lhGIkrAGIzJ+}$>ohi@%PLApowii#wcev3>R12?b^d(!9OLy8>1 za4;WeNsp8)!~FvSD$tG_iX5%?oG@TU-t04xp@igWx0lbB(Yh?Dr3;&YI+0G+fxKo1 zi7sthBD2TJD3N}yi0nLS8w+*B5RHaJ3Y1G$j8IAgTH>||KS8T7pny(y^5X;5cY5Of z1AOk{YE46zu2Inrj1Ers(MW(bqhANUFmRm2+-DVCf-D-8py@PS z`qi&8R7QLt2!k zx+IO+H%-VGf$h-h@#Af;-7v#}H$qjNq0N;2AdWhqpvj6?9Gk#RIkE&6P3%hsG=<3$ z!J{-*|J6iq;ZTV94Dw(zJERm|eM}(;CrrH1I*uIwCkfu`3sl=z=IzRefJ1uGg@{*8 zW~UH}-$`GldEGrF0!nJ@kbEE81Gtbc(6>om2q1ojMavVZaDa=jCm~_TukU8H{fu-_ zCmi3IF`0$CU-_?Oa;SK9qG&rUEitozJ_E*v zzsE)MtlPu4KpUFISS#=DW`WM7s2V>qVoD4ktQR`_S#0?T3D+pG4Or3*xX}c_fWV$= zTj^_YjE&Pelu5vlgyT8pDzBQ&8lZn!wB^>m`h!amc3G%OyP8T^8F87rMyx}NJvSwB zq$MMwy1M#co|4DlmyX-qqtQFyO%e!2#@)@WSV>diZK3NTzsKgfBXKMT*uX|Jw>d$EdEOy6K~oohT{ygM2sBM?HcJ7ma>$^#hnR{tBV7GZK+5)FPhfw9UwwTpK_8tj3eD3KTaQbq#f!sHJ2McxkbkZ zRYXBJj>-k7)Zu(oOxp>WR}n~%07wbDjHfEb8vRs8rpAkG%ReSPLVaVcLN7YbneZwf z3Yea(EPB^1^~H&zNv3C42!Wt&54T#yfHMpm8F>QTT#$VUj3ieLInI|F5H<1J_wRg4 zVfb941S1PzI;DWaK_`%7Qw%H+`)>0;(Vy*7KS#TPK{r<`4{!-M-Ksf`1a~wPY)!|| znp;q|_L0yqBh`JQg9&9MnTh#Y~+Ak>RFNr|B;i@lYvukkSk~=T1IC z$kbebRX5wjx7J~01ssC0nZvy^<81dMS@^vc!gR<(#FX`D;^QI=`|q&IWM`44?~4Z0 zmmri-yO9hdgmUCP0>%&{2&}J$tdOV#mqzKiqmfY(;okA~k4@sD)i@;A!?pJ@KE)RYGot{2|%6p(<92Bt#0V-^@=SR^K z0eyM6BWm#>2$G)GH`v$e<`4tsCf!p=rqrWUaL8HCN z?y9S+zv<{cgtRi)@vh3Bros$NOlB>T`MZYr@`{{iUy(upq_hLFp!RsnXhM~dDcSIC z{Y`0lJ;?c$=zX|b_K)vM?XV+wK`q3}hR@xHkpWRdyvUmo>&9^SFh5RK zsli??beVtCC@CSK^J!zn+{V#yKS^%((p-Cm@9ql&&84Macn~(PzQp`du(kfGfms+) z{QXYQ|H}T#n@}JL;0E23&M=TvKoN7)?4HADXHhV=`+yo6{cgk!*)l2NI_`Jm>cRxv z>P4K&dm*+WU$Jm0kirDOlwA6i@-s8RD)<&#z3_5Mq<-E*uY#u6mhHrGZiv|8udXEU z10n1I{qWy%&aNHx`1bkjTS?7kH{og4?Ja^wr)6nvR)49H4=OnR{{>kS3}lCrZHPKF z0y|GHEJT4b%V+51eaq)lN%WHGw(9tBLj`Ad%(dSe-tWw;1&yZgDxUwXn+>(an^&B0 z50R>qK909L#I||B6E6c$@o}bE^jqjB`825SFJ^y6&L&5b?Jj%mMYFjegGm~Xc(J)oC{ zR1pAc1)-2u{P=N&I8A|Nmis#Lv~A9N9^_U5KGE@f{CK*|reb6Sf5`vI0#wq{&_oid zH6$DT>9AVhphIn&_)9iYN`xAEoPVlEflvfX)Ban)Osstkj!l@L&Nwxjj?^itnX~?@ z6N9Nx=TTNxCN~dur#UuX@GMryY05CX8Uj%4*Bi3{ ztQ^-rxyjALS&zoZ@I|BPTz~fr)r3r&o zz*N|=wD^CbwMdxYAl#3h{0ytkC4zpjuw=6P$QQgUu*6hTCdKG^AxYIWuw^@_(aSX) zd(_7jAzjik#A~?n!_VVeh#O>+MI1WO>nEnQ zSTmz0N=`_-+Bhx>ENAej%B6a~tIRCj7*mNykYXo^2=C(P9g%b$`Zl8Js$d0ETy9kq)B!$vWW_7> zG&S^IUi67Pak7Rh+grNHP0fmI`XA4@!6czYe|CRbYLK}*sD-(jg8fkMHi=nogW?EM z2?gclg({yoUH${79o`bc*4W$@){D{g&9pVl`gNL{A)nC5#rGT&5>kUZcLX~ndSql| zPjw+=DexRkcsQ|rwcR*yn{C}KiGD;joR|^{?VnpG_jSW(5AZKJOQlXBoDT|!THTtc z7YHXT3`sk`goFgQ#ZE^Au}MUgv9UG6)ylC%N96$vs{3J<_mnnG@d7Hk{*Y|Mt;3RT zq(rss#(0&qIxvZC??xC@pVHG0PQr)URS7R;ABhzwx^`6-0{N19Ivu<3aVf)EZvZ5I zVnmY04O4|Y|HKI4vqTJrU5k&t>7sqkv^J#c$r#n3wHOx$SY5UYfZ9m)Zs*3K;2_F#P2=9Xz1~f2DjxI0)jD~b~yfNbHg<~tG~bB z2JQsmk6FY4qLcyrzg|Nuy_!~P&G45vT?z-D)N#iYkml#;2Ki6=&jzHgy+gn0AQa0- zT3_{T3`d6{^HTEWx(sZ(l{A7qT<-qyZZA2BlhvdM3M3oCM~VM%i!LH}WYH#tL!Lxn zn+tS_1!-|Jm3=HM!O&H9<8T`xM?z1#JyUlB4J~kCCpC3$TQEY9=QBhO54j_Z%6Qf# zw`}iaw%f+!=OP|s4FVx{;6&(d64REEAX=&8_W?w0mwq!O&B;lb;yn`1+u%?)6^Y1; zmAf|{V=eBxl#gLiSj$U+5K8XyST%8;fO0Xxec=Fs1XTb-MIe?mvBC>;4eYaQ&E5(T zSj9v6(xvy@Wd9`^Dps+O7olv@?cQyCYL}{xA+DwhpT-Y|xu-E{hpGwET)- zuWxYnlZpg!@o{+;==m1XYmJPj!p%7HD=kiiH5CJ z?35)F3)-$U%MXFw7qp2n;@UgC1GxWRfPCL$0-`)wd3bh!9_BJlLTblp;8VJ#AT1ax z+Xw*}b#NC4ferQ^N$q8~XFCR&J4bvJ$KflXVND}3f3n;Bw*B=QeC^yjo>vR5LpiDG8AeFpsF>KFS5BWd-;vsQ zAlV=*bP=i~@tg=E5>9CTz;Dj?9;!hgO|mBrCcCdLJW_7ituuZe4-g>#6YRMm9!vz` za41mdFCZVufRFa?Ys?rj66Dy4yT{pdA3b@}52Hndr(k%j8hSV$0b-=G(EEg?&5gGg z=z-d!{^==RLJ3QD$p5zav&el_q|2$FCa(QhN`m=Jv*z^|5Rs>*r^{|9xIYGGpSmna zsGw{L$2OMwX4!@IAq37`fOdgK6Ll^I-fwT zCN-PFWz3mVI=}M~S#|h+eg!e8fI5qk6{0I3%y}RJIjn6cI8iQFkofHPk z+7P0HKK2;#9f*ZHpt_txSb_Tg=D{ELRD-!oAOSzr(ci9P8Dw%w(kIAc2R$BKG8(oa zV}_WBotOqLg~Uix?9*6>YMREvGDf7SZ~o|VesaMk&wc563a?+uehaOiT=}mvwUSI3 zlK+@LpxL|Amr3`ZUrFUt(~5mcZ?lex$R3A$ZoJ?1L{`$J&S#Us>kePCAL;vfJzxE} zpjIF6JQREL{%qXr9$%bx)3WHt2BD-Hc=zrdLQT5%9x5s!Wm&vDypIfwwnh1$ ziE12SGtc$%$tn)0=+#V2@Op>Idl0>X!11`MfF1K#H+UiN7>04IR4$I~l?bS#38Y?h zmSf*DIhLeDwrUXP`nAK@#aUUU54b|d|2H(mIs7g5YEW=+^iAz37{pwc!`LVPWSx%{ zg-(QTUB-{gSw4C6sMd>l-@d4P(IYh>#M$sj9_JbnkwTLg)^Z{36f@S#VG8KLjxI&V z=ooJzdnCl_3GabBe=h?A+ZJ0w2r4_Ny^EGMnye7Ton~}psuyB2Uu%86GG#{g>B0oY@M(F5ht4YRwJF}T}p%L z+$RrwmM&+n4jgbR5jV@zaj>xwjEUCC#I*Q|&`RFY`U)N0-@J&UhtqUw(E!LsVA}~r zoxH6KsjD0*7N@BmG7_3u*{@&WL>?h_KOLP{Ns0TL3i+LqXa4>BCwAA6rSoH6RoM-u zpWzCTUGMFNcRdxceA+cZMIqO4PpW`ZuX4}FHQLMlL*eJ_W%jdQkd`LljGBwFq@-j7 zpYCs?gE%rO#O2?P;}j*ga^U@e_4@*JG^Ac(DJcY{Qa?v~56;`@IG5ao3pjvxhwibt z#Wr>uet(6OB$VpD?%+I=uTg;rC9?|)Of$IsF8x^V^48W^ z#IS5}cY&%dVJ+r|2&oZ35&4(3uC=`;{J`)^hCOO*N4uvcI#1U>KU)d!Cbr9pih|R5 zer#{z`g)Wa%w00WeCMa9eE3Jm?H)dPLWBTI1a)30t7q`7R> z)ePA@M%<1QCNrW^kWQ8!0FL-ImXPOcCo|%}E2e_q;Rz~{*l4zR{uGW<{s1f_e#XJU zK|w7lJw3f_8B5!8xs73azzssoXYt0`!)2oWXg~S|yW$sns|u^YBdd#lw9 z_~*4fK=8&F3Y?$piUA;m%>DjP6(%i>L@G|{hJhF2fi#Lx#O5gKpw&@Z#MEtu+>FJt zsg}6h!y}z6)P*mFnXoE`F|eW|**>S ze`s8-NO+d5vM<%hPcpv$R)hI<)6vlp+ima^Qc)b6#IcQRcKI1>a+>=2`T0l=`7nGU znjqhpbN5d{OOdIM+yJqkNgyZ=yG|~rgQs97_6rMB1xA?c^hhZ^@ zBc(Vq9I@>1@bIo;JUpQ$^LlC2>3d@@1N4iX8eXyh1~i^7MUINn4n>I^K@Wu!diT4Z9kW*J--PomC@j6ds2hz%-O14xXD z06^kSQ>^D7Qy)S23B#A`%3cO3ZF#Y%rP}l7h_lpm^*`Z$z)+3wb4=pkzgWflcctf^ zi>qP$vC(m9HW#CEUWMddmP8WW7W-85;Y{Djj@Y-O1DbNK38d$*3bx#0jP^ah2L>Ok46hLtWT3#vSp;C2p#vJekDA)$msSKXD0b*(J6Rn*q{VzT%4 z^_@dMAR`zATHFw*Xqc@+^^=n_l=ui3Y0M~U0?QK0#=va))iWzK@K5YM%F zDtzZ0!cAA*0&@-Fce`9u?k)X!Rc3~syg~u{FZlRZShkPwi;OrFfkQJmqDhDI6>Jdn zNpb}T@i-)9JXPu2f?W(OGgOgM+(9}wx-(n(lPIf__p*?7eYWV+`pTW?A+gN4B!&ZZ zBv$j^O`#t@Qp^#0tY1l!^f5_1B&D_3IVWrn^X}c}u@e!QV8V#F)!zX#;hj$~1m}^x zoP}U9NLv_TIFMlaQotWj{|S63P0xa-%pHM3QI~b#-RVCW^LFbJf1-7X0?`cJ8n|4-Lq%U0vBop_j%+&f+^V+BR}7gCF?~(95DdtC7!>* z5K$QD=%g{F=7!ecs8F*=#zQgP(za_7={~4$2PkV7xDo1m00n~3?nnyJ{24x>FsXUW z-_BM2+0p~eM7Q~+nxRh(SymVn9hD?mDsL8Q{jh#GYQ*_No=88Oj$(|5Gjajf-R+U4H6pd?A&l0n8axU+6<-Um$^3rev`Mj3N7V7Q21*+=6 z_qhFD@VK7lUPV%e1b61`F-a04do|!|fd-;S&?W|P#@j2uK>pk`nE;xQ$LhE!iEv;V z*4@7`UKUzhTs-Evv9_-rkI+eK7_hmz1kbut=_IE#gCDJ~ZaaH2%m0U~?~cd1?ccxb zUG|pCPEkmby+uYTl9r5+N=b^S%Sd)YlCqW6GSVburp(AFgovh*RLbu-yPxkrzvuP5 zp8L7)TbIxEInVQbzTe0DIF7fH02Td?Ea;O0U7=qmyoNwmERtEGEJ1P!qqiRE#KzO} zH|x90#l^+Hefvg?Z3JJkJUH`53-@E~z`#|+kF5YSAl7i%(!KfHekx<+CA8==!NtO* zSh(SKaRt#Q@7}$eusXE;Keey^dJ+aGsM;*R0T?W93tfJp)?n|UkW7kosLWG}n&R?E z9@g@hofe6)RiM~0B;>TW!%hPz;!a=&2OnNL2xN<=de|bs2rJ8MfC4;j#p_G5CwzT# z@HA!OwmV=-4@dh2ifhR3cdw;?o>|U&U z%$cPuP0U%!CSW+F)I5F$je}Re`;#fEg1-)XdwcsScz~Dz?ery(i4#^|o;SSw_^~#C z!UKTsA3S(KxluecDXOg(I2VaTUf$-~CS=x0oI76eNJ_S$CzZP1TM)rmFkPl;_rH7c z(TP!PXHcqA@bdtYYoLZ8=N~0#4jLsC0Mro(>h1TucK}*~D~>SI6S6z>^`H7xaTp$G zWL`))F9Yo~f&AV+~7KNoi)3>OCsVHH!AWDgRPPOxP=+h7pF@D2FQmGpe= z47tsM2D|*%OMxcGLP1e~WvBL|DeFfp`*4qrqBK7MT!$Phl=*g8szZkk%~dT&>U7}q znN29AzX5jL3ObPcA!51kq5L{w=(?TR;v%YX$WwhrN=qvZS;H0G*Si-kDYcLf!pbo? z`}o)bI=WSL8P{u9jw#3ckGS#6&MuvS5oRrZ)!dl|(7VBuc!y4gAJTAC19x2;mxV2I ziHV8PGcX)GdNd1_E_s=N$!F0JAeLr;yiB_rfGHg+@#Jw^W3nvr68f&`V8^N<#c=nQ zD4%|aJ#JTFbXDD}7O4gCnF8U0q5PpVvHgf_6UbxVYoPRvCI3OamoMEus*IB$yIl-u zB_b00;D?5#;)J`x*h8ekjDH8DER?ph^RG0(+8#Z5a)&P!>e8YO9!MPy_1+D^qpzOl zC4P&zDC^KYj$LuTq=c~Pp%cg?hMjp&y+Xb;-}>TpSJ6*f4lQ`d6mJF1_jv?1f0&=2 z2g(I;s@17enjqrZ?`?SgXkcJq*Lx4MsC#E6dwYA^vHkn+`?LY~e2x~y&4WQA0s{3= z&HqGGRQb!X?136f;w1$d(mP0J&@Szx70o)bX#}LW2mS1O$3~kw#oyBKl`^;7DP3%V8bx?A(Vpk)Xi2D-r8O-+#9l zjh4GeTcDxgGU7e4`~;Kaio`>cwh0EycczdoI1XN2cXxMQL1cXVIF?&eOH00Qr~Tzu z@I##+Ol&t5P-`q^icb~zmDe`MlLFlDNnj1IrNJv~!u^Us82- zwe07~I*So~bMn^E7k*QD`Zd*Gclx0gKKeYUV4!W0h6Jbv#%$B2<8A4!MhRXeH?8yCx`mhYpRMJR2KS-H`Sk5C0eD6(F@IclvS2L<^kGG_# z3ybWPO^GH5OF)(%^aaGn$LFx6P>s1c7#SM3X44(a$yQD9ONcYby6`2cvQS~-(LtjI z-lAKEm$SSrgJ>1f$(GmEB9q8APFR!=2hY6$)@t}qSi(vPaE+OVNsf0x!Kz?68(TII z+~==x0Jr)#z64ciB@!sS942REBP5B230~#t40SJFT(a4~G%W+%3_BgA_0Sd<+2|{a zM!H#UhwMguDfAVe=jdr@q<}xBiU=Ijx?b?ica%KPAGaXZ&oy{=7rEO7p$~8wshPsh zvIM(nIv5Dr%el2Xefs>laL1h$kR}r+MTjVkn)P{tPDP4yhYZV51ygC!*Ej9XQWg3c zdZ|~1T`V?#H9KQNhrk=pR|OZFH{uo20^VgA3q8$vb7TsEY+YJj@$9x8+3ikfUNCqT z?+}2)QDG-jf1T6Y+V$q~;(_lTM0I?Rf-E|FZ|KjpPZx78i$Q}Y>b6tk6iDG{0f&MT zHgXwxwJ!nC(V-v&Lke>5^qap0QX6`DQgA7hf?x@gKTCicO6XwJjzYDZZ`J{#GN zbDmsC-c#U}etVEjjqlO!Sge_-?vcZpls$jVN0`GO+2y6k|B@d^`beuN+~pe;6Z5RK zH6BeUF>B3}D8~y7l2eg&`a=78@b&GNh!Y|N9=-;Yg78|({1LsLBOBRy|44fCUk0QN z6$M9W)q#Y~11{v?;2^ES=}O60cO#_L=E(T_U|U*MRTU_$p@?li=kGzJnJCGhqaz*L z3K5yQmLBNEglTTs$F3&s!eT;QU}ZHm%27@DrdY_5ZAiWQMYB_!vci!L{r>;gkcz5 zrmcU^LURL6lr_nucI7@kiUfLpXPyP+iZ6@FxBo2$g^O3MLG(#qwxMhuyHY-gFi;LZ z8=Hou5giRuJ0~|E5L#f~ES%iGyW)^YLJ(aiu!ieN$1Txhu2>cFR#-zr15EBva8UA^ zY=G{;8+LE>A=bn;)Xiw<9Z$?;!HL9!z_gAEGjXVE_UAbZaA8Klghk%_UuV=H>b9f9y_`&HBd~k1O`bS$MuhiZA(8VB=OuYqnE2>ERkCS7jjOJGM+<(OX}ZNZlJBE zZsqV??q`_8&J@{r>QX>Rb>QBoJw5Gf992fkYhS(h1gStiU6;r00E8<<_iZ>NaLJN1 zpM)WZ?Q~p=RMm3nYWPi1G1#`Mn}S^it}_>ku?+xTCnme{Vj>kXnM=)ACSiFbUSnV3n<0AecH4Bg>|HKl}9X9`s zJE9{YbhP5!yX(W-_pHzV*s$(~m1yMh8uPd{(>jIGHWtTb#w;k0U{>am z>1RC(BBb4+&EJlJeZ!l}Mfdo`#~ZIrE3sL|UR+56Za(!AC~+Qo^vt0-U=D*^X>w;N zqPTc9($xEoL4^5oXZL4t)VXSF{PaFFp(RRu)0+RTr?2^Kz{(wB;GArIp?Wrz%XEIA zV=g@U&-m4Oc1HFnzUQ}0U+d~VWc$FzLvND6i`qQ)3;(Ozd#++Lf4ubkCB)izUHO2< z1CJx^YeTjDz2VT|!#kgz(FILCy1n(H3=5ipv4@AT*Ui@hZ;o4Nxmjr1; zfF*V)F?Zy+^W^c~8R;2r>^|@BG5n$Bkxt~#j6ZGq+0$$bpA7>~%QqE#cs`lt{oF(G z5xXNeYZfK9p!%efX58$oi~Nz;voTj5CK)D*10;|tnvE?jo4NAyBoZ%6%5%v8~Ns4IP zym896NnhU%HtwxVo1MA9*{ne^HqrJyY3bUvYoyr+@$06}2E_f?@nB%F=RK>}(Vz@j#Az0Me0@25=#21N9V@)L4vo?S(|hJyaW4Iwjm?k8)*DLkx< zf#FYRr*<;)&L7)C7j{Zes7=4;dlzqzEaAzKydlnYP} zq29x0p>luNe`nEQ)9wv_59f^18%`aEh?0VI?b53Go1YDoxk+MAWD~If7gDeZvj@s0!#+kYLZOBDG76d($pHBCG6Ot@p4)rK()23=6 z)U%=j@;0V!vaYi;!td_T+@LwoOI77a$ba6&R?{6p2&HU+wvo!P~-% z#V>>^2l{sk&?Dj4`$yh7v8}Vh(mSlw4rK$uKpt<~YGx7t%PlHev|)T?q!!T{Z1^a( z8v}>cFP+NZKCVrrfMSIXQ#cwh3SOJ3o4Eda@ox9dxn~w!>b<*$Pd(d;&?0 z5|ZlG+-y>Oa!MZQ&GLqP1ZCxABr%ETt1`E_UM-{ zHsE7H48RQK#XH=^7JH4UcbR$kS97y+dhX+X?s4ho`@wBTo(@=?J2bq5)6&i2*KV}F z(X^#o3AID?;mT9lpWPIFH5k7pA-nDbg*z;N3DkRc5UubV6ud^Umc+uOn#3J|o%ah0 zYJo#=3I0Y*c+IySYe#%z`IQ{ov!+rM6WMDlBb{!Iqdg1adKBDorqZ`P^mPZ?YXyj@ zVE02cR8jSBi6C#4|mNfPTyOecWY76&9Dt!pmG`y0z&2`l>owepqbYeE7?N8Ut02pL;?ioA~ zJfsc(^z7NQF^Axaauq8v71uW~unu`-*uzq#SrCHJCO5{-Ux31Z2=Bf1 z*ZUjT8DaI1K+T@6yg_x9VT?4OZsHleV^N?Om!{&ZqQbPEXb=4}#sa7$K`CP{75-#c@%<>|2Wi3&?>EE=@6(g;U@Zs3yu1@i|bHM!aN5NSG64 zcP1}#I7w|soq}X)vgejqmH@GDHb|5O@xbe1IySkC1uy&>_Ji2}8%R(s4OPeBY51EfVxd7`o zqDPOJk#KQ!{VvKkwE!gwu^y~hfN&cbCQ1FtuR(*u z$mrMxS~?}YY>BwPm5;VHaI~UmRnVR#Ne9Pyipt@Di-XHjvpvTD2rQziL$MSMR0=%} z%M#tU^m5nFrT_!WzRW!Yln3A0)-(rO~kA?m}ipu63lcm-5FT zbFoO&76JSz4PQDMiG9fT2djcxQ1M(+NyB}OCE+OZSJNh08ZH-*_{@Bsz$c!uiTdT@(w5hvvwlweVem7o_9@q5-U%Hq|ABOG6z{BRDJ}hQMK4$j4aao{$>fFPm0Rg)=##_2by?*o>8NMeJU#tmnSz2s zuD?^op=PWG5a3~i4dzBb8ketljN>{e8lTfbMKQEV;&yI|Wjg{Rj z_-AMdm(E0ztsWf}=BT!s!JEK^y@tpn>bDGa<~uM3iQR~_HoPbi##)?%P%8?a-wVHd zMgS>c5m!hr1QO+nrUo1nfFBq38b*R<0j>z zTXtno(Q72yEZbyRens#{Uf%t=%ZQeD?S-N)6TM+X_Q2)og6$#IHA|9FEb_c}&b)a2 zy|Y8rFm3kPa(zl+Qd#zZVTW=;QVRrtl+Q;DP|;IB@Yxo>IWbT6S6a)iLS%YbdpuK4#ag--pAWj=a!`4 zda~oadW&uHxfLl)tAbB6Oani`w2bunkx>L5Gt-D8`7i8HJi1f$P={MzUb9E3;uspL zVF&#l87;&2gD^|Yt5dd^x8v%1Z_>SltONhd4xP)GKPAaf@dIgZMzKL4D?WKEVyh4Q zH}&7>lMkMAvuhSqxJi-)-(S5g#YW=olwDWtdW&Wl_^$Nw989+G`O2tR-`vbb;CMgb z7&#E$xCkzFa9fHy>h5}QVHyy=3G0e?CeiVQ&Z%$JMG`!FKK(^4pL{e=&3#Tk5*a$K za2Az4W}2%kAM<^D_iq1;(<6mf0Ef*kp!ShycTiI!=5Ms6a5ERb9D@yQ!Z-Y#W3vbP zR3na$v@$Gu>=+V?mix=hYfc}azyS|zRkw%j8~SU z2BkNQZkl3b5jxnbBeLi;IClE0(6w|f*Z%zb9-*%c?r*W(1n(s<<5$y4TM`lw9Ec{a zYGH(uL&LX0#iSHg=u zam(RP7Cz|P(LFf*26JB|21b8$+d0 zjTeQCM*xqM4T#+A&SmbmZKeQxv5m!WVy**0ASQ9dWN5gCq+x{A-Q7HZ?1N^;dO}Tk0g;kS_;u^F20`>dQ$ z+{9=1<#k(OxrxUz#`lJ|k_HOB=PoKJW@z)1ch~sHyz6>XxBIdG%V7&YmssUgfC|g= zKGWxeU-JCki*u(ZgH*eh^3bQUtd}{?v3rlsS<8`e{gm={#A(uKzonHO-?!-<@V zeD^@xWdFU@_&DgP>qlnVa2?8HD*{=$40L1Vo$!4MYnZcSl#QM;iZGBpRCD@$^XdhS zEh863vwE8N+q_%GTBrRAGY2!+Zth2JNdZf5yH60XBbtMo?3#RXE~e>s2t}_4od@g- z>(@d#%Rxj9f-}= z{gmGOKAC-{*=u}^cjRnP#lf#eeTd#ds+DL(Uh*ATi>A^Sz$&cA`-x{wwVUtX^B|3| zpa!=sk?@{bZzW}6SMmuK zmcb=moXpYfsqUbkZlj~0eF4CE^gfh)#JV&L{;(vKi!HLfOm^V4_u z#fP<*qY_Z$`kXjh#bGCT&*>#f64H$)gIq|#?Q@wQCLx>A)WHqpg6;t6?O|`+h47g4 zdxA26nSlXdc0>80H|JKS)$fBeGnqpS65jRs^R5}%k=yf$j+yRO$jeQg6S2D#G~Cv4 zAYLjerRum1AFksZjBtfH5< zk5_#Vm3j2&(a6-)b2PsZ@!3&tZmnyC@Db1@4TT6imHpjW^6;I=B?|mU+JYB}JEi<3 z@5^ILe}gH%etf+kYe8CZ_=e|j?XDgnwetbKLVOQW1ya!K$p@8^uqCh?s1}LRdZ3{z z)|qQjTh!oFGXb|E=Y?HpbzWr=pd`!$6)BD zBA1%27uuJqZ0H?}W;WIe4ki=OG7>flku=`PEtf+c!7D7>ggp-Xog4yT-`v?%bT=8n zkw;8yGoBt(Ake8u!quVpP(G!z$bPlk&T$khpWZx7LNC4}&w?+v(vY#x7^xZ(!Pk6Z z0PQX8+`tEHlb(k9r3M)t8yDAmUnD~Ee;}II-T@Yzv_+%n?Z{qPCm((uZxFB9_s#mm)IyPGP(x0^fQ97t3 zk)MK;0s)f(GWf--6*zsEt7>c_O!a-pZu3u?Q z748$fv_G&z&c|W4h*t$g}U=pbvFs6XuJv zX+NQI-Z3KzDOsxYu19NH;D^}3k;%)d#(|g#f2VZh_Mo-&xD8-^mZP^oTIGnZySkOi zu%L`gOd^M=2cuI{Q~AHg^ROm{vDQ2{$ZJd)l#P(pozzWIFm4bqT(?9 z4{d51&nvaubh;OfRG`N#Om`bHy4?3^$~8FgfC{dQrYjDSd=-vJP=&6<5pqF#fP7VR z=j%mB9w|pfbC3WTLpfudlxMq^+d6Jok~^l_&-gtpu58`k*P&yIo&i^O7*2J;+Q(p5 z^ai;RhAl-CFu&gyx!mxEd7>mLq#(1?goa+Ru4IH5LbzV182%bjz2P^7BGd3=%SM8^^+nnM@cd zKDid{P9h1V^gan#2g(5&3!4(_pc5s=+xD+_!&?cwnX)Nyg8$Z30E044l)1y@Kd({U zY+}A9r=xC5)+wiQE1}d;Fck%SS12z_yZo4{YjiR-U& zy?k`Q+?|hdlWvf{aciHStdErWlm_2p$*&Nm8l!Pbdo|gG!H_xz15B0hb5g8O0B8PK~EyNm5?y(7nyT4%+SY}ONpVCu0Lb6R6WdjK7Fd6P5NPh z7C4=-=20s6v70U`$C*7ttwYBOm3*N$Qc}YdcXGWT=^^v1yTSfH4Ss8=kG?i+~l9d+4T+h&sVI7_)()UCe3Z2Qx|OvE1I&PzFi z>2mx7U6;N=C9Ur7pL4C0I(i&@EP$U4`1F^pA7M8SsZ(utx4n-J_}`RQMfNcOv9EIZ ztb!j5sOs+#IV?B$(U9;!^LYlRi6j{UH3|ISRFE}>9t(p=xWPQZ=(cg}ROaIn;^L%X zLM%^AE0{vZqzNL}^ex%^=N4KtB-RIkzS8`HPgV^;11ki!W z6vjV*Ib)aX9&G?2vwog2w4CU^V^`<`<>*OG{{ea?VKt-kdf+H{voJIXN0;Buw_g}K zPB-K@bLf=ZD8V(I&Ufl>BDR%gl;TM^Z zmeIGGyFP!sZ_J%Bax+n)%*R(Ov^B+KKIN9W@ozHTkt1YG;bD456hsDM`g_ry;@@Zc z!|fC{oni%oiU7zqZa9yKl9|v7Ce4z32?1aMjmo%`JUzb;+$6UcYp$zT|NCrkFazkD z3T8sdxpDj*SdaXzp`|4TS+t{oznldxDtavEPW7|E&0u@i@A8}8(30Em6@AEX7QIB0{%?qsQM!1IV3z|L`vOta+ z#M(K?=nvGJ<12&B%nrs$51(X~fc*S?|G~3>m`lNVIbmN4rhE)&VfOP~p=17`LT-Bh zKzT{Vvx|%L7WS+Q5-VAfDS|nrg$+dkMl@mLL|H73vKAeY4X5tBL?Z&X$NIZvNMVYDekQ;kfE4Ed(BhHzew%r}Id>MM zjRwS4Bm?=V3VVA$e7%hydCDoQLIG!;jJ28xgb6p2ty0u$VL8i?AqD^TM*(4li@Ldr znC23U$YHQh3Vddp8M-jD+;?E~D^{g!T%mu)3cZc4InmJAFjFs5-9?q5>6dQf~wF-kQ9v(PM(|9w1kR*R$ z-y=W8=J5m+Q!)S=4orBer}3YB&}M~ugjhGjbnmcl{Hn)S<^-Go4YrE)?Tcx7je(zyjsN91%R|KlW@P$SFz4{a9!xkC z+O$XYa$y%ETl?og*_(du);SBnqM>fUGOHqZSJwZ=HlcfwvesI;3jAGnI${Ihw$ouR z@{)BF#G*0W$Ok@uSj5*Rs+$s+oSQ-oNU>V;#t-{p)rc#I(1BGDMJ;Qu@*(4$yeDA9 zv#qWXiOly;R#!E+XkfOb-nyOF;h9{29NiG?!00%jnJa%>eWe?`@|ynH4AMiynp_c( z1gJBL!$^eQ20@yU=XQK=LU50A=BRS;b;eNNA~pG-s3&@8)fTZXmE|-qYg=n2YmXxfrj?;HPy_4QL=)MA6_@8KC z(Ivi(yt(P3v=wC3xUTW)YFClU0dc(O=fPO?uV+x~(e=NL0#|QJ;>YZ)E6%f}O%nb8 zaRDgNktz{uWUm8Uz?joLYYm4wIxYfINrHPX3?_`9b=nh(OV}2yljz z(3n6ck+6Ev;4uBEB>W7LC@dF&2CoYn8^ME(7^i&zZiQle!@*~GAd-&Yp}Jsd6js^= z5+PPL4tVfgVvDnp8y(bflw*tVMj~002u_MN1xjcc0C$2Mi)d<>B4AYhl`T~wd{uDs zHe(kNr!2t2H_%_kh?&>YkF&UfgHXsM&VrtU<;h1~*L?^9Pa<-S1PMVulkJUGM zwLz}L8BGBlu2b~u@3!3&YuoqOuKdh%(TQLyO>J-O7c9)ot75Jua|7-Ar1jzX*Bf$3 znVELwkq5Jlm<^ z1K8kMpBr6PsTYBqLHoHVx@YHWY{0Z@xw|%9eU!gE1RXY_n@WoL1D#9>guW=Jn({Nx z9PETdnH6t&eV|pMEC_6fuO7HFLHbTDNBQKNq^$q}l`FRVA|$(J!2}r=Shd~xQ*Vjj zj>oH<%2&c8Ng7~b;3&F!|H#tN>pnkC6h?%7aPck5;$n%bpGz-h zqwm--FqCRsvRI?kKOzEdNB+B)IL}>m$a?!WN}WTZRmeP|{oQ`b^(u`@8uy1XTu253 z%c&2WZ^7F%3waR|Y@j!n7CzM3zDXK^x(ZTAfYeZh-CKA9z?yDJxykz78CGsIkd(%9z@_iC zGkQCV1Zsu!2u$r5S^YcYzUqym|NKJ{_XDUPBA=?|8qkCGTu8^lAm<-PRKx`Lj=Z&~ zb&yFC;SaK1_j#wR&v{iC^$zgD<){+uSit4ocBj7wpnBqquue~Pk|*J|BUB~|F;z*L zeO6mru(whRgflfw4H%x2tqHsb8+hH%by7`>|LwY!+cj3r^!UjwEm`g#b*^fu(6V{? z{qSYBtEZE9J+AF2(Eq}lfUYRB%2gBZSk#7C<}g_c&_%*gJ=66s#vmD{^j~8*UeJ9I zsP@h6Zbkc^R?VpI+Y$W=@-uN-UQ0kjT^+^i>esAUxx%7dTKoKFt@|vB4#c*`Z|sn5 zSA&(GoVW_U5=PShJBe_XiP7h4ZEXdOW9!fUw{O#lDi!e!%$fZqYXM1S0f?tLh$C@N z0=)Sz-g7H%gV)k>8g8IfmBz7blIYZt7^C5(i^zwK#{gqeY}MqqM%%9G1SI0E68lHf z7v`p>C4jl!&!#3ohqMjx6e+UDtGy#_558na4nH$qOyOl^l$2Y0`)^BWCr5A3%*kbE z&eC4)yM4gEJ~QgUSf^1`t=oG3we3bVqugLcbp9gLX zCY6<3zq5%k9Ln2}%uGqrGsnBIT*zLJ+dK?6Qwa%kx`v5HiLxj-%;iM%AgwEEdlHW# zk_R{-tOOolTy93zy%G?IBDh}NPWRK>jdWlVCW?J+pOHO&c>8z*87|(Tr+~B5-EtB> zEgmQZAhK~3a5#aeh~A3xbdce=Ve-3|2ADSDWFoS+g~$Drvdo5G!AfpB519VUJaytN z)6U9e1)SpMrCzo*PX2ycouidMQ&QYdfnuJ_RN-{XW+RX7(wdsd4sDQA33>CGTBG)j$NkQmp`ULbXgT}F!Hcq$bNT36vxXw|8_%M z%0P|Vh~^0~n{PO!B({!ztfu4f&EG?IRAJB5;U@VkiMMyon6J72W0qy@t=}|4|AI{6 z3O4;QaF~l*;YOy9^g^TmJ|XZR9j?wQx}b{lVuA1w@N2Gc5LEoWoq#$3oLO{N@c~75 z!O^G9vrR4i{h@F0xO#qeb`-)}x^iuk@fl4&J;e7&#DbM2-`Grz@rPeJa6Cr2fnW&0 z5B>KuTjDWE*FI_hH2QmXkYxc(M)#ew{qL>za|?(bm}UBc5PJ?U#60vZd~_N(BQKDN z=-#gHo^&hsRq3GJtL9~#u(1H9D7ZUR7v5CbLjFto3pn-h_7fOl7e;yy&2OK~8L=iL z%NX57*U8*`OlD8KalMK8DtWDppFiP9K+!z2s0qH6hV};V>j8AF&b9{@6^a-$cBSPR#kX^Q*ar)R8@7jCPZB-->#&$l89+AqRvIC|j$sOyOq zV~^av;FC!&p+4Rw2uw`nW;>!>c@IRLLS}m3nSEdrL?%$)1nPg=8Z9Kc&$V_Q&w6?s zcqEa&SeEWEM&~-~a|mh2k`Ezz|Huo=!;#@)bVnNuqdMRJg5D(;xTr%6IPkqMQdMP| zpC}lPoBqr0Ixe>54lgbFc<0FM+S1pbIG{W9+h5VT!~P=SH|{+r)}FHG@KBX*qU^ij z;jH_P;9hg!YBWf3$00JtO-mQMCM8oRAQXm6E(-7Xc7O(g4GjSYq2l6>%CA2>Re~-K zMB1M1A4jpe2Du%M$)nER-Z4;C!ZUNY_o9qBNF8@K>0r+ARVYgd(Va*ZOo2E;QEJgo zaRi$cd87vGiGTBG9;!i@fkqriBHtSTLlElWu7({655FO|#DjgUEUt9AbpV+yrt4Yo zJZat!t{>Uj2sGR0Y!bF|OF4?L@`PSD4R_ud58H#-Iw?nrw)PR(piz6bmz%Pd-IdJS zxqWh9x*11W<%Xe7Eym4_c$owO0{{ijpvy4Ha+Gkoq+&jd+8QFFc3crSAg(GuFpU!^Sues8FrhFg}urAV39dP+8+e- z#=ub|&vGg%3Fu1XWsCxW>pJ>(F#rSoFDJZZ-9V1(iE!H~c)=aD#%fMFs#^vq#f2u_wTnOZNCBMoB#*TF}^= zOgq%AD#K?QiYk6c_FQ(iJ*_r!+MYUUdP3{Hg|w2=TJ9f9Yx$Z)xzZS`NbYHzVS;BH&O#sC5Z3CZ6ZP+)FGLU@Zks{g^U+{A^OqbS-v5X&w6%>{88vy>{0 zLaUG3`1jzfHRBZ_f~tj3*~UJ2x@iB*Vp~Q(kVAbccjlMXp~l#TBTd6|{%th$%82G zabTqG&YsMwRyI7MK|=FCdI@Wy!I?koD>FQ|Gx_pt%Hc`J9|J=>*o5`J512Z8ul>^? zWr~M(J8-k6XMApvyQ739env?SO*CM~xJWF)j7mNWzjiayW1b)5VO7)q-(&Z3Nm#w8 zT5EWlL3H1+T(6SBs*z~x{AH7$GXUk)1;LaBe9;6DA;iR!WTUY7Q*30UFp;Jrfiwa` zawT$)0zJ7VzkgXGqea$CLFk{%T~U(yA}@#j)C}_2e@yAM6^?EE{q$R1l_kPDL305(x+X7Ndg_fk7mJEcD};7=1|nf4@r5 zd0Uyh#@WNh@fTPwv0EhP39vF2nt-*4bI*V)a02LyL;C6#HBvd?{}V+ZYQOi6xM#`D zfD0!V5W@3flPKQafr0$_!>o*g|9VB-jv;RQW%R8bg{Pn1Iw!PtOLsv$I7FK^n%oKk za43li4j2L9DgyUMQX5oP)ye43HJg^Vla2s+i%tr+`v4c+@l=d4iW69a}koxjp zAAr^F%7dRAk&^3{9f}ES5cuB1R;TP3`fM=0AX>oM=Lc|Kt#7}+dlNg*NUpa}(eL~E zRtR`BfC_ZxHE19B1kdChE@Yt9M8nDoO?bQlY=4R~_efe@%-35u|oFNNdG_Ip!89g#b#yrJ)ZU)}@ z+f)j8O9_~oVks%tNM%5B>BFO-T9Rdfh8&lDlJr@|&{)f$ARQF;gn$+3GK#k|`8jPT zLbN#;Z;tt_gB;S48wrlg3xO8$i+a#ZGy#$ljs=t?R{%hI`)bW{HU?Tok>0ilKR_OE5gUyo+jkx4i)RK!ojLl1RE(TX7h8SCe+Oo(g2SB z6EH*obvywffgmwTR}urui}3C(5{af5lw<3Zbf|A;pwuP63aEM!PPZ!haeZMSiPajB zeqxQ2-nTTiqUr)WL=t)I4agEfniBxV0*3q(p=wv zZ>e!Gpz-yor#_2X6DG1ICO5h3;<*p5r)W-0N)5O9#6PL`~zSa_*hn zytThy;8jM+{klyi;~OV_{y7%ldmu6Cz1y3wuRjLJP0ZeGJ3jNLXCm;+??+$X6PoWe zU1h2B(mV<3qO+Pq&~l*rp-CjJhGE&o=-B1swEth{#Z9sWDV zL41LH%P|%+fkh}PU{^nO-~Cw?RPZ2>F9l!kfp(HIjMXP>V~IyLN2KNDnUTbmL=pb% z#?uEy2q%CDm1D}4fF%Nd%muNDFqKKbMs2NqEXByiAa`Z-$R`Uo1-Si7mV0*41L&^B z6`rVb8;B3U{LuP=FtENb1Dypm$}E>daLhLWgZ{>#3pOV z<6&F9tUg_rPMiP4JmaTtI!pd1=NY_385RU+zi#NSXjf;7hSd1C^0FP{ZeRRxcqyR& z5dJI@LhIQR*bV2v92!M_V1g^FD<~b&nSh39Fq;vxkf8L58pJ_W&=M)TKOicKqgg__ z2_5ON=VeK8VdRwJyGmv_1>B zr?CE+C)UsHfgu3-K6FxwN^1+05UFU*P!bzkQ9dHr!960{De?82G1Zly?j)FO| zyvws3B^`_G{UIO}t4o;F_#5bIN=~b(q_ibw_ zMQk8j{?zAtuYFJW@bFM46;`j&FH=VxFvbIrLYWMU0BmClvKm<=kUjV)OZ({)7A{=g z2<~mvZzjX05Knc3f%gWZg|yeI)rWbuRH(Hdz7w}_YVQ+BjVP(3=?*W1#3p&DC>mKP zz(sXmzCN{rgdIv({U=j-^chL1CPD%9lP`Ox47D!h?rJ@}Ku3z~B;UfMg5a7{Fbh9i z$6}CqpHE3eHRA#on~8F$v(;A=@KHF#r+8-(fVy4Lfg-BA$P4^1 zdb227*rMwkO4-CH+f8P;qRu*c;zT{(SqJ=gpw?IpSX2rOyQ2Utar#9dR;fWlqaAY5 zm{~HY7QhxGETX``yHKweMbj~srpC+ga5pwZpMC71bAc6NxRb=N9zCE@>`w5!rw^?EV~t`BWIE!3D;r>?yovFjenR=|w^F@oPM7$=h&x#6jGcK_Bqoe`@H}S_3L(Jr?(n30?IKH+-)OVcQnz z;~1@tM(3vJ#>yXqr<=c=EEhgsX&P`4_AxJx@7q!=Q5Y5)ny72@_Uv#q-Q(Zg$#2K% zSV-fT0~~!xT(X^e{5R(3{_+yf#!e#mAspW>E|ANCkS+HHycZzV-8*lLU%>r7+y!j#A?u7*gQUImDuVamk9xy zD@-Yl)PS2J+PwrzA~ZXEu^SH;OaozZvJvW?BdRz4Zm{2^Ep0#s#Rgsa1y^CG*y2pv zYnmZYhSCk|&-Z|8O@Xqv`LCoGoG)_D6ba2pX>BVsX-}U%jiX?XtlU*`Gp-#i0&{rEANu=e2R{>P zQ_Nbl@NdN*S-JO#CVCDLK1u|iK}r99h0DhRhA~ zdnv^{+)|$-DHd{&CXk8gFV7mhQpw9%$;!$~b11GyusYPLk0Ix#Wk!bFz8k(iS;t;d za>-f!FGDp0XQE9Vt{XBpA{kOj``0M<*#Yl_;!>$;X=!m;4OT10W?Y+>SJfs|WmI|$ z=nxnIJo&t09q0lS1K?6gPnanHFJ<~>>T$O-&}55atW#C!5NOQMKuY{%n6sug(Kxrm zU@Je2Aat77ygvBKQkm!4wn89D(Eo+N`@*DzxKV8_dBH>CBJf&{i(9c@w?`SonI$>e z^f~QL>y|81c{L7u&7!w&yzgH z6j5t*^JKxv=L_C8?)Y?0pj3Z^&O#21*SgJXE6MHMQ=7NJqg5OO4%o#u95KPwLP&ui zb#npSvgFhz!_$B$5vQSPjJoREy-SDM#=SgpG?JxGwRB`?8O5cR_BEQ$k-hqjjyTt? z9v_;rr?Za}>f)y;Kh&*KR6MjSuEjKV_w6_82UD-PQ5jza5kIkvXH^#jsb z1jvXEM-(6$*@@if%jDtY|0v_%m-LMxuJXn#bA+_CyRNelt+M+CgRB(dG`Tl$QjT)- zrkv6G)2`~G=$W2_BM%w10yLJzz;-KAeY{UoFdo+#vl}7Uv5;?%sF0*{17cT*_A_3d zf`Aw#J{DSs4D_cLYrlN_7y}sJy|CyIUYGvPV?VE4Cp3KcAw=WwxIpee=%$F};60oo zvv<%7pg1~BBY7ZAEaYS~Ty|Li(pSRT+4x~sD0NK!rcmIU-DH%<23&Eq31%p zm|=oi4b?jdtm1k>ntzf6uSJ^}bQ-|UfW%9sz7Im}o_aMXc==9Sv$pO>Vn$~6y$vq>>GK_4 z4^d=_{DCJ(c|o5FDK7SoevJiP0Z+isf|^9ui+}UJefO)PUGtj9$78MUpO89DtfPsA zq`Wc^B(LVcq)yVI=9N+IAwdjE<_z7K17-p;d>yCiG zUq!qc&i0-5^4psnF~sIBKw9V;a?xaIPOC{W+R9G~E3&hZQ-d9xrGEVqkU1Aryu?=+ zg<|G-{0tg{q^=$Q{5cNylx&KXpsyZy)5Ot@H&`0`GYpB=ZlnuBLgx{H^B?-0hm>zF zu<~v2yy$Mhm0POc{ap>rlj!ph=Q`Ez#~LvrEuc$0$4xiG$%E91{@?ljBJx~(7{yL1 zUM8B=v59g!Bkm)aNMx2_HM&7EjcdB61re1Dp&{Lh87DE@jlybZC8B-umBn0!7^njWK5Y< zYM|1~-p|deYBRWTJRixBGIvG%|8W7FGqrcBygAx=W-9Y|bLbFX>Bx_{*o}oB=frq; zLcmRY_j=zB8F-i9c`~C0UYhH+>lWOMQi`2od%AHag3U%!1#}1cKWz}^^z18@gKx}X z)gy;ZPL^ly1DyoZSbg$>YmHKj86&BzMjEis60NCud2IgBO3ny9%FMgRU(eL^-xE7F z*7P(gSb@=y`&tx+AR!16FU*)5FM28s#CfRTAk;tvBqz82{6zr?3SLgA1PKN(5us;( zwwJ;|3F4~!%eX?flT3AN&B(y-k_LcP2Ovwi;ie3=`Fj-|p%wv-=%2iCTxyhuPMS3| z!P@!R-Eqo`$Bshh_YN^!-LUlTngv@ZRo0M5*zEG{#OSUd9RlZVo%@l{z*78mG(yB*?tF6+n4(piESVO69d@#0H7AD15ZCTcF zHoN<_QKsJ8^!3Vy+~KmA&Rvb}Fg)PJZEARj%v({kk=OJN-p{5#zUb1;h1={9b2_X- zqXJ{$gWvS+vU~;BQ0L1K$q+Y(6DyfE2T49;C=8V&U#I=xJ;$m=p}8+_`HFXxar!*= zAIe2mk%)h5lyU&w2yDfo`cz#yHSj>EgU9IqdqSCVCuNe0qi=D2N+-92^_D~EU?^3S z1$)(GZDjNbb_b}fFy)Chp}D$dXVX(NtiVQo)2%AFG#7r_(`@oF2I$K%SnRj$Jb&Ej^V{SKDvTD0zyP+S-w0TeWd}c2ur|fAX@Y0 zb-Wou(gxTKzEoHqAyCNE*x+^jO^~*a5?k}Cuxt85hm41fE%u`7zZbBahe{qP0iArq zI~Q0~st>kNAe7v!OEBK-byDsu8;iu^+-++BksaaZx7R0B$+;dtQZMl!1ys$j1 z8xh^`7ka4GE`Sy}QhRQM(nDETaeDrZ(b1#F|A9Y&_yMD3Mr2Ed($+q`#!jU~mvR~G zpfK!LS&VDEkm-zq+a@EO{MMv@%S;_^&z4aU)~e|gbrg^8bW9Uu$7hH{v*Oz^(&_2d zXLnpH5nXSPue}`OPx44!)iKOu0`>D7!QCB_>q|DOQF`VLbW}N#ab_#Qlu4!+? zpOrF~BH!Jx8cf!Ib=oPM3PVqI)9fzgT11Ae`8EgXS9Cb|P-`;19!W14ZPy>%IEP%*~b_gf_#u(Y$yNjm_ z-%i@s>IYvj!d%4+>D0T?ZM^tP7=dqIksnZsHz7MVd^>y;FJJ*j8@Oa>-IP@_8vX(( zTw~Fg8OBU{-+6u}^3$>Z`{@#xy6&zNWe?jgK|4Y@NLdiC<_2+(FR*g(As;p#cd7cn zlMufB7{(?&c)-u_EwnoWjcg5eZsKti$3$r)F%-(qj^)S59EauHDPc=h0jo^P5PsehPa5RQ81V4!F9N%xz4c3 zF+-2(%#s9V`$k65{atug?$f=>xq;K*YU_@N(e%43*~25~y?ZDDGnC^KH@>EYCUpPr znTV_6J2+Jkgq0hn^xy$xqxsgFkwVS8`t9g&n|_G()d#x4&!<<}D_wXTEY|y2$g^Ml z`;RUB!|hVe-w#H|=i7#`EZ6+nm&&)ZDFrY_t@q8hW_X>nh-6G;&(-Ry;Qoo1HXsuyN5hHbT@aI8{Tzg$>kR1 z;+8n9HU4H}mX*lxuM=Ip(E{-t37apU`eR>A*|B4I=&bUO*9COfH0exC=?3mIAdD_O z?5uruKB%W)<(glkqd&`BOtXC5TmJ;`iE*fVH+)^XypJLz#3S7&fn%5u=k=zgWYna9 zwN;j``f|IowiQSJ$kCe1?YX71H{`~AkG!SVTe?;|TEigPVm}v1UCF9>w0h>6?|UVt zrm61gYa4fS@8T0-JM@P2&6DPpjUBl+f?uZft?=3Vc>mi+FNCNUFILxtRsa1HbYtOE z{OQx{`nNsS*z!b^>3s2OQ~Vo)-Qw+cr2z4ax3*pTG3Z){RKzTO`~}_K)1QC7-Pd#q zC&g$@_10|qNJk#EjCzW{0gLk*+84?iY0j|eH8w8FoJWs;nF|+x{=TJpta-7poBn+Z z!R{W++*tY^w3#ae!ly|x0^46Ji1Wk=apr?{DxQXf|RNGZgHWe zadBZk zhv3+H?Grg$4i2Q~ZdMC>5)cy3cxHo$sTJqB#&R!%ceT~Yiq!)?WooGjW#sxWN-+pp zwUJMVQkm6gq(s@mS_C=Wk1gU_jL#AlnHZ%mdEQgEJAdBe&3ZoG2fZi5k58h?2@XxqH@mYuM=tGCqGd%4h`Rtphl zoC0;fjb7lF{Qi+)Ur^1&sSLA|?|zcBApFpI6Z=x3V2X)xjir^LjywZ}KI>V&3YB4B z2D_0ocv)S);XZ2J@*n3&>%1!jbt@1qDUa=+c%AsRU;}Ggp(9_XL{i}YEA6(<- zjTgik)nzW#p7T0*A*w`ozJ}qi(yo*n-&@la%R4_xmYCg{_#+Xe2P$6GX+`$Ceu^q* zbe0Zic`Zx!{`cl@n|D6VSia)_(R9{PQFh?<(cMy_Y6`p1`fUz!cI07#R~*) zh^#s?^-B>E;+NN#@8R(Ct<3=VZ${sD3i#AUVyP|Sx1kSMaw@HK;5>eJg5-E*d)9}B z455|f_!FZ+`rbM;EZ5&>U&|O~?~8l*r;7Cb!`+W&E$KhhDhPA+>^JMJt-B%pp%z}KNMvXacidBxsJIsE-EK=ckhjd7 zoGA{j(cv}eX4=HfV{SVTFuQGp5pogz_hR0?4h(zQjxe4>hnMLhC z_feS@-IYN-INy5NFAGsRZ*>iRJ~rQ@S4M$yVh4IU9ZRhPMl})$uFoor#5du~?PI>= zd%uiWd(tL?u4$hvFe{e8tVBdWu`w!|431n!U60!nM2i zOsQ#4hnOeyS2s9cvWNpIOK2z)xwkj;a$lX0vQQa`+Y)gou_|VDA}QOF)BQy zw<>G~Yi<5WBro5VT!)5cuOtg6Y5oM7G4!FGsLd3To6soKCfEEq4$_q1t$mwkA(wj- zHMHgq|DFa=s#QB{^iXzC90Ub;L4Knmd0JHwYQDUs{*K^f&0}<7!u}sxngECWBzCkqJMKtI(Lt1-jkD6KP*PrKff7jqgKEI8 z4hj|`(8w&!l`&j=X3_7Lxs9V|d2IG>G>b{y2#rv@P2v86MReV|*lbDK>=JIUu2;JT zQ*S&wPmBKM@!t*IpKmUcGl|zBzjKNlY0@nK$s7kePLPHShFu z5c6n&ttQ{h`6)s$uJWyriAl%7e1yR3*OjD+yjv3ixibFz%jTXjH+pyV%kS>F88FqG zUnwC*k+06}Omy_eki=QI+zZh@1;aaF*bDtr7uoB+zXaIk31`|3mjB)^^no*xAbD!Y zxp4=!ey5*15<~@6s0FEK^;uiM3i=l`?ms6pdcctUN4Ut{Ic}vh{mJzE#C%^-5!+}S z3D$_$yzR zJptd0YxhhCid|02Wic(xp@`8vP)|-3PW7p_i=DJTp2C^5IX?PRuhClmcg~Y^KQcGh z*u;PyLhKB?hLEcw54G&=v3&o2{sZE8iZzIv8 zY|EAIo&r|*_5Yn}s#zE@67q2Uqnbavr$csB5K#4d-BdW9qiXnwspC6w_&wrypCHIc zXeV#BUAueA4Woo+QJ(aYDIUwSgH7tNKBD2ZtlIB}CbiEIBwdEoKTKxXKvdoC`;U{| zu8;W&Je9y3T+p6J*LO54i&1xM0sG;CkvSqmpmPWK%Zk?@-;9y@D=@!sxnhISueaN4|5FUif*>Dh0E*}`OGbbQ%V zpkwX_#4B5<*YHAi`5cD3Ot}aMDmFyyK7Q?JO-2h>*eh|ltI6fn7qFdP{6?Su-^wUe zw{ap(#UqcqVgq@Z6?xkcs?$LDA_8euVm&u;dn3`8N$O9-XN>C;>8o)8*I_3xA2~gI zoGL8fbaV6M(vbG@oUf18td@@l>(~4DS1csLe3xRe&2Ij#huVK!7wW$EOsw_rKo`0) z8yuaHtY^&SZdmmguth`|WWBw~iRk*GxlKRc3Bb!r4Th?lm;D^}+7TfmsXAJHO^%&a z`&c^QWj1C^ShOp<{9ys7FSU_%_e*}G645p-_>`;`i#m(>6XmSQ_0#G11?4+4BA&>| zC=*th?3BxM?T=z)gat`O444s(&W+0r zP0XHITCmV)RI{TZf#U6CRG7!Agj}dwUWuAIu@9`7X5tUYAK&l36wCY}W7eCDy#*oK zQ7_;ijZ3^J=n5gZ0Y%{M`?n;k>+AD>@AoU>+7d(1w$-yGCi}qHy(@T8!_?HuIQnZ& zQD{`b3WH(#Y*-|U?|s5@RqputWHtiMBOabaj?@o7dulip;_Ek}|GiX1d?ysKV(V_p z!Zu__0tsh`7lfq?t_jVxA5G6-jeSU{75EhJQ4V&z;5X#A{bZ_G3B$D#Z7>vyog7W{2By75`g#7NgOiyAJWLt|4ECq$%SV#|53#m~)Phe$L}3X|n^2t^?OniiM>84>;Jv^} z7k4P0%V$_DZDrAA-6kYS5j2<(6@i*`L8+x}ne8zI|2;kDpEQafG+M}#l@fUf!J3G{ znv-2c5Z%b7d3De7P?fi$b_$1N24XO<_Ww}8pH9ryP?k` z1oyn4?;+{&L_SuD!$>m1#ZISLnN0LV|L;-~ZU!+R%~~_-L=1~AHy}}Z^A!aP`f$&> z{q&jX-V_+f+`oVfT>;TtuRn=NU44j_jfb6#iRU70S)H!+&S`7$z2g%aiNJ%P*P6(Z zZxHumo3BE7Awv}idJahCy4iXpD+ES;qa&lCDx93w@nsNBVwN6&D0X~7D?lHpGUNH7 zocyiMi!`z{k=F!KrIrb26$4{&`&gO%^?db(-N9VvX#%rOtMweml#Bhch53467V!(6 z`Y73RN?&8=&L=P2S&3?<4WtlHHj^U4+})FV>+JK5RaNgvn80BaQ&Z@L3@E6<@>{H% z$O}7~NH)yJ?8ylK!aREI&S#h|mhsUV!fbZu(X0&XiRUL&;{10Qf=*bIv3jdD_i3UTOY=%7f zx&-W_OC&CPkhoWz`TO}v(CHGpJf0d$?k2832g^OnzIoc5(dCQn%8y^=yMoj6{`{Snh%mEJl$Qj(~G81+IgGeG;3h22ksk4~HWZ0d)j|l^8!B z)jSy6^85@D$<@Zw5&jEr5f4++ z^HWX?D3OtQQ@o(3=rZtZ64*jf#ZTNb_!;VOIWpg#C426Vw2Pus30;%>aAC!^G`*)u z#0Fv2*Pf%X}ZHjmnK{>_%wuXZ-lhHE0i)N6SxiMlxYE&0-&b7TN?Tf}VU0j9L z;xT&xg{02NMXvdbMAsMi`p8P)2jzPJH=-vL8*Zm3)b0CVd5Ww$;&O<*gxNi~J+Gz* zRY|8RT`>*%e5z4-Q%9&Fgfuzw3i^(lprrhf9+8enwHSXYHW+t1?Y{qw`XeTEZ9RyH zML1@*NOIy^`Zee`-MX;-T=q#a?Igv;H7r!8&$d*SWrZxYE0WyudtULp@LNTsrF1(w zSprLoMw!b#gT~oL4peojWZ2`;CtHcko+&3M!cZH=&Zs?JO`5DV^rq|RZ{h?Hm@s<3 zQd)BnyQbQF*7{Q3(PnkChj0@`&3y zEz`Sk6=y_5WFQBcz`@^3tpz?H#f9FKP0aNO85M`?Ycyc%k=IU43S1a5X-PmwX~|~$ zo$=JGxM-;leNVEhGnhUZ8m4~{G-&4fGtp4>fj#E#hH*u!EVp5InG$GMxCYl4G)r`S zwbCRW&T;ctiXrkpij%&z_J7w!4WRnoZ-vGWNXWpem(R1O?hrdfIv)j~e&e!2%-f{+ zL0C6jA7X)L;Z(r0XLFtK%h@=X2sWAQ`e&!LJX@Ut2Y>@>usH*TF76m57ii;rz#@Vz zEgk#-uFUw9)YP^d#Lv5AZlDNtFwfg~X9~`Mv5%usFRr{i-Myx=Orx|E#)iMYt?RSl zDg6!H@6r`oJw;r*P{a6SR$)N!oYm7ZkxR>CV-Xgpm=fFM98?+&`nA+0v|f5>3(C9iw+rRDub~#Kt|C#>-*_aB@-1?jAwc^3D!fj|`!S zv2Plb5#dB}?eBi5wHy~HNi4Uu*vGx<$P`ud`BT|heF}QpEFm@=CoOKvn;uE*+)irM zbSS~1CJ>I7`$q;tR+ti$3U5L`^f>_p7Z9PgeR@A3bqz2usG%}yluwM|=0fFg(-~BM8V&g|~$?eTL;<<6FPG|HtrkQp& z3;RM4B*boJIpm&EysNpYwb^YRZFI(m?9VP-b%sVNi3zDS@dR}#i*ugkFpw|TgoMK# z+HzL)HV<^NeZ2TEk$2Lr&lJK6j{f?GqA#7#8XdwmLcf}PD0^?16TR7s(=nUWcQoIH z(pnn|5wPGVn!48iD#V{?q^R|;d@5y$t;JJo;zPX;r@6gK=gr6RANB{n*6D^HKpuT*{UB{g# z_=ho?8FoUR%t7t4CY@*U8IV;AK0rh|RWPxib9T+CaGNO*bHSU$_90~vkCvtHd;?+0 zcR|hj4n{eZ{9B{^Pc0)ziugeLnpcX`@`*}K!9CpPQ8bToy;t>s$6?fJp!+Mn+RT=- zGbztX4H}wWl$ZN>$)__q;aU(MxB5Fj{E(N2^au;xc;l5=ChYSklZ#Ez2a0A_5AOAW zO0iLOm_N)~F}&WJtuK|o>LFUg7&rnT4?R%c^n&rh%F$8OKiSIxAlk0M9s18t^WTIV zD2uI_f=Yr80?`SmiSigadi6STRdDS4cAjdyj#hnu`aSz7AT`tV2b%FL>=%mr`PKzx zvU=eYm3pjm13XQ)oibyUdN6hKBF@U%{4( z`Sa5{R9QS9D&&a|PKJI-&f5aw&g)*@EguFl0%KY)EkJS{6qJ zRTc-@V&S@|4X$?fOkq-f1Am(fScQZ>tR}M?ox#C!g8uFEKkwtfz`$%Uc5SdASkK_I zBL(C0NTB@zo^VefP`4!yG!S4#0tAOpkQgCkHW;wt4K^-wBsS5UYe*YZ(xg1Z&;v8C z3PYA$&|liF`)B40ceovCHKnNhUk_PYTC|r6lT#c{-#<>YTi}2rTu;wPT7(8ZQ@5A9 zJBR4ovY!u&!i4|F0@V66@1}aexR`+L{fEHSRq1R`mm#>@UUz)qLcM?I7mq{TTIkLB zAq);7eyRO4R5heGQm{a4QcaYysw&+^&8jw{oW;=AhWL0gXzWj$sJO%8n>cuj2Tull zP%95BL1b^W+}FVt4_iKBl7TFGWwqBba_V=;$aFqR)Lvjf6A7#x*B>8_A3;CD$OH)0 z`4G*4G{p+Q{khi=D2N*S=SB(OoEWgE$ zPEB~YYKPJX6LvqT;FGp#o@z93&cn$$MDZfmY z!Tit>ctQXuyx(*Y0E^&<|5T}&+Zrg;mb6kb{m9pKdLDHtU1MrcdiZ!g7SUNap`dS6 zvv7%`%hB+dEbYj)u$yieZh~IDwtT(5Alslq;!n}7E?m|;%-M2PZ(ujJP#vUMA?mfIg~~TmF`+$y7>WoBmHwKITwzAOIV1)I z){>Gu8{1>b6`}3oe$k=EmnEPs)cn(u@*&jkZX(|B)xTcj_kRhpK&OFE>2rbiFNhVE z4AdA9h{yq*HK2tc7#J8J=UjrqE2sfQ(oqcburK3b5V3MpMWK7f Lj47}M>wz7tH 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 U?o!vH-=Hw@boFyt=akR{0D @@ -49,7 +49,7 @@ L92.5748 -82.7503 L92.5748 -59.2357" id="C0_0_d6879774b7"/> - + @@ -77,7 +77,7 @@ L333.997 -59.2357 L333.997 -59.2357" id="C1_0_d5dad72e48"/> - + @@ -106,7 +106,7 @@ L253.523 -90.5885 L293.76 -86.6694" id="C2_0_f77b20b182"/> - + @@ -135,7 +135,7 @@ L173.049 -121.941 L213.286 -118.022" id="C3_0_05e8bb0faf"/> - + @@ -162,7 +162,7 @@ L92.5748 -153.294 L132.812 -149.375" id="C4_0_8fef5974c0"/> - + @@ -191,7 +191,7 @@ L333.997 -153.294 L374.234 -149.375" id="C5_0_06dd094376"/> - + @@ -219,7 +219,7 @@ L253.523 -184.647 L293.76 -180.728" id="C6_0_505e2f4f40"/> - + @@ -239,7 +239,7 @@ L173.049 -216 L213.286 -212.081" id="C7_0_06d336a9bf"/> - + @@ -534,148 +534,148 @@ L226.698 -310.059 L226.698 -300.261" id="C8_2f_d396b34810"/> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -694,154 +694,154 @@ z " id="C9_0_919e3f95db"/> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2942,151 +2942,151 @@ z " id="Cb_30_91dfad6065"/> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5517,1780 +5517,1780 @@ M453.297 -178.597 L453.297 -178.597" id="Cc_24f_abb5b36b8e"/> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7299,20 +7299,20 @@ L453.297 -178.597" id="Cc_24f_abb5b36b8e"/> +L0 -4" id="m93b0483c22" style="stroke:#000000;stroke-width:0.5;"/> - + +L0 4" id="m741efc42ff" style="stroke:#000000;stroke-width:0.5;"/> - + @@ -7338,7 +7338,7 @@ Q6.59375 17.9688 6.59375 36.375 Q6.59375 54.8281 13.0625 64.5156 Q19.5312 74.2188 31.7812 74.2188" id="BitstreamVeraSans-Roman-30"/> - + @@ -7346,12 +7346,12 @@ Q19.5312 74.2188 31.7812 74.2188" id="BitstreamVeraSans-Roman-30"/> - + - + @@ -7381,7 +7381,7 @@ Q49.8594 40.875 45.4062 35.4062 Q44.1875 33.9844 37.6406 27.2188 Q31.1094 20.4531 19.1875 8.29688" id="BitstreamVeraSans-Roman-32"/> - + @@ -7390,12 +7390,12 @@ Q31.1094 20.4531 19.1875 8.29688" id="BitstreamVeraSans-Roman-32"/> - + - + @@ -7421,7 +7421,7 @@ L4.89062 26.7031 z " id="BitstreamVeraSans-Roman-34"/> - + @@ -7430,12 +7430,12 @@ z - + - + @@ -7470,7 +7470,7 @@ Q23.3906 74.2188 37.2031 74.2188 Q40.9219 74.2188 44.7031 73.4844 Q48.4844 72.75 52.5938 71.2969" id="BitstreamVeraSans-Roman-36"/> - + @@ -7479,12 +7479,12 @@ Q48.4844 72.75 52.5938 71.2969" id="BitstreamVeraSans-Roman-36"/> - + - + @@ -7527,7 +7527,7 @@ Q38.1406 66.4062 31.7812 66.4062 Q25.3906 66.4062 21.8438 63.2344 Q18.3125 60.0625 18.3125 54.3906" id="BitstreamVeraSans-Roman-38"/> - + @@ -7536,12 +7536,12 @@ Q18.3125 60.0625 18.3125 54.3906" id="BitstreamVeraSans-Roman-38"/> - + - + @@ -7562,7 +7562,7 @@ L12.4062 0 z " id="BitstreamVeraSans-Roman-31"/> - + @@ -7576,25 +7576,25 @@ z +L4 0" id="m728421d6d4" style="stroke:#000000;stroke-width:0.5;"/> - + +L-4 0" id="mcb0005524f" style="stroke:#000000;stroke-width:0.5;"/> - + - + @@ -7602,17 +7602,17 @@ L-4 0" id="m0d5b0a6425" style="stroke:#000000;stroke-linecap:butt;stroke-width:0 - + - + - + @@ -7621,17 +7621,17 @@ L-4 0" id="m0d5b0a6425" style="stroke:#000000;stroke-linecap:butt;stroke-width:0 - + - + - + @@ -7640,17 +7640,17 @@ L-4 0" id="m0d5b0a6425" style="stroke:#000000;stroke-linecap:butt;stroke-width:0 - + - + - + @@ -7659,17 +7659,17 @@ L-4 0" id="m0d5b0a6425" style="stroke:#000000;stroke-linecap:butt;stroke-width:0 - + - + - + @@ -7678,17 +7678,17 @@ L-4 0" id="m0d5b0a6425" style="stroke:#000000;stroke-linecap:butt;stroke-width:0 - + - + - + diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py index 1790c04ee9f8..54586d608c1a 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py @@ -2,7 +2,7 @@ import unittest from nose.tools import assert_equal, assert_raises -import numpy.testing as np_test +import numpy.testing as np_test from numpy.testing import assert_almost_equal from matplotlib.transforms import Affine2D, BlendedGenericTransform from matplotlib.path import Path @@ -61,7 +61,7 @@ def test_external_transform_api(): class ScaledBy(object): def __init__(self, scale_factor): self._scale_factor = scale_factor - + def _as_mpl_transform(self, axes): return mtrans.Affine2D().scale(self._scale_factor) + axes.transData @@ -70,28 +70,28 @@ def _as_mpl_transform(self, axes): ax.set_xlim(0, 100) ax.set_ylim(0, 100) # assert that the top transform of the line is the scale transform. - np.testing.assert_allclose(line.get_transform()._a.get_matrix(), + np.testing.assert_allclose(line.get_transform()._a.get_matrix(), mtrans.Affine2D().scale(10).get_matrix()) - + @image_comparison(baseline_images=['pre_transform_data']) 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 plot. It should be x10 what the data suggests it should be + # NOTE: The axis range is important in this plot. It should be x10 what the data suggests it should be ax = plt.axes() times10 = mtrans.Affine2D().scale(10) - + ax.contourf(np.arange(48).reshape(6, 8), transform=times10 + ax.transData) - - ax.pcolormesh(np.linspace(0, 4, 7), - np.linspace(5.5, 8, 9), - np.arange(48).reshape(6, 8), + + ax.pcolormesh(np.linspace(0, 4, 7), + np.linspace(5.5, 8, 9), + np.arange(48).reshape(8, 6), transform=times10 + ax.transData) - - ax.scatter(np.linspace(0, 10), np.linspace(10, 0), + + ax.scatter(np.linspace(0, 10), np.linspace(10, 0), transform=times10 + ax.transData) - - + + x = np.linspace(8, 10, 20) y = np.linspace(1, 5, 20) u = 2*np.sin(x) + np.cos(y[:, np.newaxis]) @@ -99,13 +99,13 @@ def test_pre_transform_plotting(): ax.streamplot(x, y, u, v, transform=times10 + ax.transData, density=(1, 1), linewidth=u**2 + v**2) - + # reduce the vector data down a bit for barb and quiver plotting x, y = x[::3], y[::3] u, v = u[::3, ::3], v[::3, ::3] - + ax.quiver(x, y + 5, u, v, transform=times10 + ax.transData) - + ax.barbs(x - 3, y + 5, u**2, v**2, transform=times10 + ax.transData) @@ -114,7 +114,7 @@ def test_contour_pre_transform_limits(): ax = plt.axes() xs, ys = np.meshgrid(np.linspace(15, 20, 15), np.linspace(12.4, 12.5, 20)) ax.contourf(xs, ys, np.log(xs * ys), transform=mtrans.Affine2D().scale(0.1) + ax.transData) - + expected = np.array([[ 1.5 , 1.24], [ 2. , 1.25]]) assert_almost_equal(expected, ax.dataLim.get_points()) @@ -126,7 +126,7 @@ def test_pcolor_pre_transform_limits(): ax = plt.axes() xs, ys = np.meshgrid(np.linspace(15, 20, 15), np.linspace(12.4, 12.5, 20)) ax.pcolor(xs, ys, np.log(xs * ys), transform=mtrans.Affine2D().scale(0.1) + ax.transData) - + expected = np.array([[ 1.5 , 1.24], [ 2. , 1.25]]) assert_almost_equal(expected, ax.dataLim.get_points()) @@ -138,11 +138,11 @@ def test_pcolormesh_pre_transform_limits(): ax = plt.axes() xs, ys = np.meshgrid(np.linspace(15, 20, 15), np.linspace(12.4, 12.5, 20)) ax.pcolormesh(xs, ys, np.log(xs * ys), transform=mtrans.Affine2D().scale(0.1) + ax.transData) - + expected = np.array([[ 1.5 , 1.24], [ 2. , 1.25]]) assert_almost_equal(expected, ax.dataLim.get_points()) - + def test_Affine2D_from_values(): points = np.array([ [0,0], @@ -248,7 +248,7 @@ def setUp(self): # self.stack1.write_graphviz(file('stack1.dot', 'w')) # self.stack2.write_graphviz(file('stack2.dot', 'w')) # self.stack2_subset.write_graphviz(file('stack2_subset.dot', 'w')) - + def test_transform_depth(self): assert_equal(self.stack1.depth, 4) assert_equal(self.stack2.depth, 4) @@ -274,7 +274,7 @@ def test_transform_shortcuts(self): self.assertEqual(self.stack1 - self.stack2_subset, self.ta1) self.assertEqual(self.stack2 - self.stack2_subset, self.ta1) - assert_equal((self.stack2_subset - self.stack2), + assert_equal((self.stack2_subset - self.stack2), self.ta1.inverted(), ) assert_equal((self.stack2_subset - self.stack2).depth, 1) @@ -289,7 +289,7 @@ def test_transform_shortcuts(self): self.assertEqual(self.stack1 - self.ta3, self.ta1 + (self.tn1 + self.ta2)) self.assertEqual(self.stack2 - self.ta3, self.ta1 + self.tn1 + self.ta2) - + self.assertEqual((self.ta2 + self.ta3) - self.ta3 + self.ta3, self.ta2 + self.ta3) def test_contains_branch(self): @@ -354,7 +354,7 @@ def test_affine_simplification(self): class TestTransformPlotInterface(unittest.TestCase): def tearDown(self): plt.close() - + def test_line_extent_axes_coords(self): # a simple line in axes coordinates ax = plt.axes() @@ -426,7 +426,7 @@ def test_pathc_extents_affine(self): patch = mpatches.PathPatch(pth, transform=offset + ax.transData) ax.add_patch(patch) expeted_data_lim = np.array([[0., 0.], [10., 10.]]) + 10 - np.testing.assert_array_almost_equal(ax.dataLim.get_points(), + np.testing.assert_array_almost_equal(ax.dataLim.get_points(), expeted_data_lim) @@ -440,7 +440,7 @@ def test_line_extents_for_non_affine_transData(self): # before a transData transformation, hence the data limits # are not what is being shown on the actual plot. expeted_data_lim = np.array([[0., 0.], [9., 9.]]) + [0, 10] - np.testing.assert_array_almost_equal(ax.dataLim.get_points(), + np.testing.assert_array_almost_equal(ax.dataLim.get_points(), expeted_data_lim) From 9d5e9ee059fc497d4d63d66eca5cf5c3fa08aac7 Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Fri, 24 May 2013 15:31:34 -1000 Subject: [PATCH 010/329] Add comment and test for _pcolorargs --- lib/matplotlib/axes.py | 26 +++++++++++++++++++++++--- lib/matplotlib/tests/test_axes.py | 17 ++++++++++++++++- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/axes.py b/lib/matplotlib/axes.py index e45602d0419a..bf9e29f804bb 100644 --- a/lib/matplotlib/axes.py +++ b/lib/matplotlib/axes.py @@ -7316,13 +7316,33 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, return im - def _pcolorargs(self, funcname, *args, **kw): + @staticmethod + def _pcolorargs(funcname, *args, **kw): + # This takes one kwarg, allmatch. + # If allmatch is True, then the incoming X, Y, C must + # have matching dimensions, taking into account that + # X and Y can be 1-D rather than 2-D. This perfect + # match is required for Gouroud shading. For flat + # shading, X and Y specify boundaries, so we need + # one more boundary than color in each direction. + # For convenience, and consistent with Matlab, we + # discard the last row and/or column of C if necessary + # to meet this condition. This is done if allmatch + # is False. + allmatch = kw.pop("allmatch", False) + if len(args) == 1: C = args[0] numRows, numCols = C.shape - X, Y = np.meshgrid(np.arange(numCols + 1), np.arange(numRows + 1)) - elif len(args) == 3: + if allmatch: + X, Y = np.meshgrid(np.arange(numCols), np.arange(numRows)) + else: + X, Y = np.meshgrid(np.arange(numCols + 1), + np.arange(numRows + 1)) + return X, Y, C + + if len(args) == 3: X, Y, C = args numRows, numCols = C.shape else: diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 1e77570d366e..a812e3b14418 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1,4 +1,6 @@ from nose.tools import assert_equal +from nose.tools import assert_raises + import numpy as np from numpy import ma @@ -293,7 +295,6 @@ def test_shaped_data(): plt.plot( y2 ) plt.subplot( 413 ) - from nose.tools import assert_raises assert_raises(ValueError,plt.plot, (y1,y2)) plt.subplot( 414 ) @@ -662,6 +663,20 @@ def test_pcolormesh(): ax = fig.add_subplot(133) ax.pcolormesh(Qx,Qz,Z, shading="gouraud") +def test_pcolorargs(): + n = 12 + x = np.linspace(-1.5, 1.5, n) + y = np.linspace(-1.5, 1.5, n*2) + X, Y = np.meshgrid(x, y) + Z = np.sqrt(X**2 + Y**2)/5 + + _, ax = plt.subplots() + assert_raises(TypeError, ax.pcolormesh, y, x, Z) + assert_raises(TypeError, ax.pcolormesh, X, Y, Z.T) + assert_raises(TypeError, ax.pcolormesh, x, y, Z[:-1, :-1], + shading="gouraud") + assert_raises(TypeError, ax.pcolormesh, X, Y, Z[:-1, :-1], + shading="gouraud") @image_comparison(baseline_images=['canonical']) def test_canonical(): From b25e5067b03681719bdbc553574a3991c935857c Mon Sep 17 00:00:00 2001 From: pwuertz Date: Sat, 29 Dec 2012 00:48:06 +0100 Subject: [PATCH 011/329] pgf: add mixed mode rendering --- lib/matplotlib/backends/backend_pgf.py | 27 +++++++++++------- .../test_backend_pgf/pgf_mixedmode.pdf | Bin 0 -> 24408 bytes lib/matplotlib/tests/test_backend_pgf.py | 12 ++++++++ 3 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_mixedmode.pdf diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index c9015d3a5237..63c48082a85f 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -13,6 +13,7 @@ import matplotlib as mpl from matplotlib.backend_bases import RendererBase, GraphicsContextBase,\ FigureManagerBase, FigureCanvasBase +from matplotlib.backends.backend_mixed import MixedModeRenderer from matplotlib.figure import Figure from matplotlib.text import Text from matplotlib.path import Path @@ -738,7 +739,7 @@ def __init__(self, *args): def get_default_filetype(self): return 'pdf' - def _print_pgf_to_fh(self, fh): + def _print_pgf_to_fh(self, fh, *args, **kwargs): header_text = r"""%% Creator: Matplotlib, PGF backend %% %% To include the figure in your LaTeX document, write @@ -767,6 +768,7 @@ def _print_pgf_to_fh(self, fh): # get figure size in inch w, h = self.figure.get_figwidth(), self.figure.get_figheight() + dpi = self.figure.get_dpi() # create pgfpicture environment and write the pgf code fh.write(header_text) @@ -777,7 +779,10 @@ def _print_pgf_to_fh(self, fh): writeln(fh, r"\begin{pgfpicture}") writeln(fh, r"\pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{%fin}{%fin}}" % (w, h)) writeln(fh, r"\pgfusepath{use as bounding box}") - renderer = RendererPgf(self.figure, fh) + _bbox_inches_restore = kwargs.pop("bbox_inches_restore", None) + renderer = MixedModeRenderer(self.figure, w, h, dpi, + RendererPgf(self.figure, fh), + bbox_inches_restore=_bbox_inches_restore) self.figure.draw(renderer) # end the pgfpicture environment @@ -796,14 +801,14 @@ def print_pgf(self, fname_or_fh, *args, **kwargs): # figure out where the pgf is to be written to if is_string_like(fname_or_fh): with codecs.open(fname_or_fh, "w", encoding="utf-8") as fh: - self._print_pgf_to_fh(fh) + self._print_pgf_to_fh(fh, *args, **kwargs) elif is_writable_file_like(fname_or_fh): raise ValueError("saving pgf to a stream is not supported, " + "consider using the pdf option of the pgf-backend") else: raise ValueError("filename must be a path") - def _print_pdf_to_fh(self, fh): + def _print_pdf_to_fh(self, fh, *args, **kwargs): w, h = self.figure.get_figwidth(), self.figure.get_figheight() try: @@ -814,7 +819,7 @@ def _print_pdf_to_fh(self, fh): fname_pdf = os.path.join(tmpdir, "figure.pdf") # print figure to pgf and compile it with latex - self.print_pgf(fname_pgf) + self.print_pgf(fname_pgf, *args, **kwargs) latex_preamble = get_preamble() latex_fontspec = get_fontspec() @@ -856,13 +861,13 @@ def print_pdf(self, fname_or_fh, *args, **kwargs): # figure out where the pdf is to be written to if is_string_like(fname_or_fh): with open(fname_or_fh, "wb") as fh: - self._print_pdf_to_fh(fh) + self._print_pdf_to_fh(fh, *args, **kwargs) elif is_writable_file_like(fname_or_fh): - self._print_pdf_to_fh(fname_or_fh) + self._print_pdf_to_fh(fname_or_fh, *args, **kwargs) else: raise ValueError("filename must be a path or a file-like object") - def _print_png_to_fh(self, fh): + def _print_png_to_fh(self, fh, *args, **kwargs): converter = make_pdf_to_png_converter() try: @@ -871,7 +876,7 @@ def _print_png_to_fh(self, fh): fname_pdf = os.path.join(tmpdir, "figure.pdf") fname_png = os.path.join(tmpdir, "figure.png") # create pdf and try to convert it to png - self.print_pdf(fname_pdf) + self.print_pdf(fname_pdf, *args, **kwargs) converter(fname_pdf, fname_png, dpi=self.figure.dpi) # copy file contents to target with open(fname_png, "rb") as fh_src: @@ -888,9 +893,9 @@ def print_png(self, fname_or_fh, *args, **kwargs): """ if is_string_like(fname_or_fh): with open(fname_or_fh, "wb") as fh: - self._print_png_to_fh(fh) + self._print_png_to_fh(fh, *args, **kwargs) elif is_writable_file_like(fname_or_fh): - self._print_png_to_fh(fname_or_fh) + self._print_png_to_fh(fname_or_fh, *args, **kwargs) else: raise ValueError("filename must be a path or a file-like object") diff --git a/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_mixedmode.pdf b/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_mixedmode.pdf new file mode 100644 index 0000000000000000000000000000000000000000..86dfbbc527cf5cfbc7a7aea95a97586e7c77e94a GIT binary patch literal 24408 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 8f922e7727f0..34c31ce9a604 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -145,6 +145,18 @@ def test_pathclip(): plt.savefig(os.path.join(result_dir, "pgf_pathclip.pdf")) +# test mixed mode rendering +@switch_backend('pgf') +def test_mixedmode(): + if not check_for('xelatex'): + raise SkipTest('xelatex + pgf is required') + + Y, X = np.ogrid[-1:1:40j, -1:1:40j] + plt.figure() + plt.pcolor(X**2 + Y**2).set_rasterized(True) + compare_figure('pgf_mixedmode.pdf') + + if __name__ == '__main__': import nose nose.runmodule(argv=['-s','--with-doctest'], exit=False) From c811acb37c758c50eef218fbdb80b9a3e1a99273 Mon Sep 17 00:00:00 2001 From: pwuertz Date: Sat, 29 Dec 2012 00:47:11 +0100 Subject: [PATCH 012/329] fixes on MixedModeRenderer for non-72dpi figures --- lib/matplotlib/backends/backend_mixed.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backends/backend_mixed.py b/lib/matplotlib/backends/backend_mixed.py index 4b1a8b95b08a..511304855514 100644 --- a/lib/matplotlib/backends/backend_mixed.py +++ b/lib/matplotlib/backends/backend_mixed.py @@ -48,6 +48,7 @@ def __init__(self, figure, width, height, dpi, vector_renderer, # the figure dpi before and after the rasterization. Although # this looks ugly, I couldn't find a better solution. -JJL self.figure=figure + self._figdpi = figure.get_dpi() self._bbox_inches_restore = bbox_inches_restore @@ -121,16 +122,19 @@ def stop_rasterizing(self): image.is_grayscale = False image.flipud_out() gc = self._renderer.new_gc() + # TODO: If the mixedmode resolution differs from the figure's + # dpi, the image must be scaled (dpi->_figdpi). Not all + # backends support this. self._renderer.draw_image( gc, - float(l)/self.dpi*72., - (float(height) - b - h)/self.dpi*72., + float(l) / self.dpi * self._figdpi, + (float(height)-b-h) / self.dpi * self._figdpi, image) self._raster_renderer = None self._rasterizing = False - # restore the figure dpi. - self.figure.set_dpi(72) + # restore the figure dpi. + self.figure.set_dpi(self._figdpi) if self._bbox_inches_restore: # when tight bbox is used r = process_figure_for_rasterizing(self.figure, From ff86f69af0a04b1ac415a2e893abe8f43050b516 Mon Sep 17 00:00:00 2001 From: Geoffroy Billotey Date: Sun, 26 May 2013 10:43:47 +0200 Subject: [PATCH 013/329] [DOC] Mathtext and matshow examples --- examples/pylab_examples/mathtext_examples.py | 125 ++++++++++++++----- examples/pylab_examples/matshow.py | 14 +-- 2 files changed, 104 insertions(+), 35 deletions(-) diff --git a/examples/pylab_examples/mathtext_examples.py b/examples/pylab_examples/mathtext_examples.py index 6437b61a100f..ec6269e8d70c 100755 --- a/examples/pylab_examples/mathtext_examples.py +++ b/examples/pylab_examples/mathtext_examples.py @@ -1,49 +1,118 @@ -#!/usr/bin/env python - +""" +Selected features of Matplotlib's math rendering engine. +""" from __future__ import print_function +import matplotlib.pyplot as plt +import os +import sys +import re +import gc -import os, sys, re +# Selection of features following "Writing mathematical expressions" tutorial +mathtext_titles = { + 0: "Header demo", + 1: "Subscripts and superscripts", + 2: "Fractions, binomials and stacked numbers", + 3: "Radicals", + 4: "Fonts", + 5: "Accents", + 6: "Greek, Hebrew", + 7: "Delimiters, functions and Symbols"} +n_lines = len(mathtext_titles) -import gc +# Randomly picked examples +mathext_demos = { + 0: r"$W^{3\beta}_{\delta_1 \rho_1 \sigma_2} = " + r"U^{3\beta}_{\delta_1 \rho_1} + \frac{1}{8 \pi 2} " + r"\int^{\alpha_2}_{\alpha_2} d \alpha^\prime_2 \left[\frac{ " + r"U^{2\beta}_{\delta_1 \rho_1} - \alpha^\prime_2U^{1\beta}_" + r"{\rho_1 \sigma_2} }{U^{0\beta}_{\rho_1 \sigma_2}}\right]$", + + 1: r"$\alpha_i > \beta_i,\ " + r"\alpha_{i+1}^j = {\rm sin}(2\pi f_j t_i) e^{-5 t_i/\tau},\ " + r"\ldots$", + + 2: r"$\frac{3}{4},\ \binom{3}{4},\ \stackrel{3}{4},\ " + r"\left(\frac{5 - \frac{1}{x}}{4}\right),\ \ldots$", -stests = [ - r'$\left[\left\lfloor\frac{5}{\frac{\left(3\right)}{4}} y\right)\right]$', - r"$\gamma = \frac{x=\frac{6}{8}}{y} \delta$", - r'$\limsup_{x\to\infty}$', - r'$\oint^\infty_0$', - r"$\sqrt[5]{\prod^\frac{x}{2\pi^2}_\infty}$", - # From UTR #25 - r"$W^{3\beta}_{\delta_1 \rho_1 \sigma_2} = U^{3\beta}_{\delta_1 \rho_1} + \frac{1}{8 \pi 2} \int^{\alpha_2}_{\alpha_2} d \alpha^\prime_2 \left[\frac{ U^{2\beta}_{\delta_1 \rho_1} - \alpha^\prime_2U^{1\beta}_{\rho_1 \sigma_2} }{U^{0\beta}_{\rho_1 \sigma_2}}\right]$", - r'$\mathcal{H} = \int d \tau \left(\epsilon E^2 + \mu H^2\right)$', - r'$\widehat{abc}\widetilde{def}$', - #ur'Generic symbol: $\u23ce$', - ] + 3: r"$\sqrt{2},\ \sqrt[3]{x},\ \ldots$", -#if sys.maxunicode > 0xffff: -# stests.append(ur'$\mathrm{\ue0f2 \U0001D538}$') + 4: r"$\mathrm{Roman}\ , \ \mathit{Italic}\ , \ \mathtt{Typewriter} \ " + r"\mathrm{or}\ \mathcal{CALLIGRAPHY}$", + 5: r"$\acute a,\ \bar a,\ \breve a,\ \dot a,\ \ddot a, \ \grave a, \ " + r"\hat a,\ \tilde a,\ \vec a,\ \widehat{xyz},\ \widetilde{xyz},\ " + r"\ldots$", + + 6: r"$\alpha,\ \beta,\ \chi,\ \delta,\ \lambda,\ \mu,\ " + r"\Delta,\ \Gamma,\ \Omega,\ \Phi,\ \Pi,\ \Upsilon,\ \nabla,\ " + r"\aleph,\ \beth,\ \daleth,\ \gimel,\ \ldots$", + + 7: r"$\coprod,\ \int,\ \oint,\ \prod,\ \sum,\ " + r"\log,\ \sin,\ \approx,\ \oplus,\ \star,\ \varpropto,\ " + r"\infty,\ \partial,\ \Re,\ \leftrightsquigarrow, \ \ldots$"} -from pylab import * def doall(): - tests = stests + # Colors used in mpl online documentation. + mpl_blue_rvb = (191./255., 209./256., 212./255.) + mpl_orange_rvb = (202/255., 121/256., 0./255.) + mpl_grey_rvb = (51./255., 51./255., 51./255.) + + # Creating figure and axis. + plt.figure(figsize=(6, 7)) + plt.axes([0.01, 0.01, 0.98, 0.90], axisbg="white", frameon=True) + plt.gca().set_xlim(0., 1.) + plt.gca().set_ylim(0., 1.) + plt.gca().set_title("Matplotlib's math rendering engine", + color=mpl_grey_rvb, fontsize=14, weight='bold') + plt.gca().set_xticklabels("", visible=False) + plt.gca().set_yticklabels("", visible=False) + + # Gap between lines in axes coords + line_axesfrac = (1. / (n_lines)) + + # Plotting header demonstration formula + full_demo = mathext_demos[0] + plt.annotate(full_demo, + xy=(0.5, 1. - 0.59*line_axesfrac), + xycoords='data', color=mpl_orange_rvb, ha='center', + fontsize=20) - figure(figsize=(8, (len(tests) * 1.0) + 2), facecolor='w') - for i, s in enumerate(tests): - print (i, s) - figtext(0.1, float(i + 1) / (len(tests) + 2), s, fontsize=20) + # Plotting features demonstration formulae + for i_line in range(1, n_lines): + baseline = 1. - (i_line)*line_axesfrac + baseline_next = baseline - line_axesfrac*1. + title = mathtext_titles[i_line] + ":" + fill_color = ['white', mpl_blue_rvb][i_line % 2] + plt.fill_between([0., 1.], [baseline, baseline], + [baseline_next, baseline_next], + color=fill_color, alpha=0.5) + plt.annotate(title, + xy=(0.07, baseline - 0.3*line_axesfrac), + xycoords='data', color=mpl_grey_rvb, weight='bold') + demo = mathext_demos[i_line] + plt.annotate(demo, + xy=(0.05, baseline - 0.75*line_axesfrac), + xycoords='data', color=mpl_grey_rvb, + fontsize=16) - savefig('mathtext_examples') - #close('all') - show() + for i in range(n_lines): + s = mathext_demos[i] + print(i, s) + plt.show() if '--latex' in sys.argv: + # Run: python mathtext_examples.py --latex + # Need amsmath and amssymb packages. fd = open("mathtext_examples.ltx", "w") fd.write("\\documentclass{article}\n") + fd.write("\\usepackage{amsmath, amssymb}\n") fd.write("\\begin{document}\n") fd.write("\\begin{enumerate}\n") - for i, s in enumerate(stests): + for i in range(n_lines): + s = mathext_demos[i] s = re.sub(r"(? Date: Mon, 27 May 2013 09:27:08 -0700 Subject: [PATCH 014/329] BUG: pass kwargs to TimedAnimation --- lib/matplotlib/animation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index c1822df960e6..1d935f423920 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -253,7 +253,7 @@ def isAvailable(cls): class FileMovieWriter(MovieWriter): '`MovieWriter` subclass that handles writing to a file.' def __init__(self, *args, **kwargs): - MovieWriter.__init__(self, *args) + MovieWriter.__init__(self, *args, **kwargs) self.frame_format = rcParams['animation.frame_format'] def setup(self, fig, outfile, dpi, frame_prefix='_tmp', clear_temp=True): From c16c3c290eb32c4e8874a0e9cf4946a2b57b5dc3 Mon Sep 17 00:00:00 2001 From: Phil Elson Date: Wed, 22 May 2013 15:32:34 +0100 Subject: [PATCH 015/329] Added the from_levels_and_colors function. --- doc/api/api_changes.rst | 4 + doc/users/whats_new.rst | 8 ++ lib/matplotlib/cbook.py | 2 +- lib/matplotlib/colorbar.py | 7 +- lib/matplotlib/colors.py | 84 +++++++++++++++- .../test_colors/levels_and_colors.png | Bin 0 -> 7627 bytes lib/matplotlib/tests/test_colors.py | 94 +++++++++++++++++- 7 files changed, 188 insertions(+), 11 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_colors/levels_and_colors.png diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 8be7932f23d3..4fa1bf71c89d 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -99,6 +99,10 @@ Changes in 1.3.x Deep copying a `Path` always creates an editable (i.e. non-readonly) `Path`. +* matplotlib.colors.normalize and matplotlib.colors.no_norm have been + deprecated in favour of matplotlib.colors.Normalize and + matplotlib.colors.NoNorm respectively. + * The `font.*` rcParams now affect only text objects created after the rcParam has been set, and will not retroactively affect already existing text objects. This brings their behavior in line with most diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 15fd2465d781..73fa60afa568 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -68,6 +68,14 @@ rcParam has been set, and will not retroactively affect already existing text objects. This brings their behavior in line with most other rcParams. +Easier creation of colormap and normalizer for levels with colors +----------------------------------------------------------------- +Phil Elson added the :func:`matplotlib.colors.from_levels_and_colors` +function to easily create a colormap and normalizer for representation +of discrete colors for plot types such as +:func:`matplotlib.pyplot.pcolormesh`, with a similar interface to that of +contourf. + Catch opening too many figures using pyplot ------------------------------------------- Figures created through `pyplot.figure` are retained until they are diff --git a/lib/matplotlib/cbook.py b/lib/matplotlib/cbook.py index 6772dccf7634..1193c6e284f4 100644 --- a/lib/matplotlib/cbook.py +++ b/lib/matplotlib/cbook.py @@ -189,7 +189,7 @@ def deprecate(func, message=message, name=name, alternative=alternative, name = func.__name__ message = _generate_deprecation_message( - since, message, name, alternative, pending, 'function') + since, message, name, alternative, pending, obj_type) @functools.wraps(func) def deprecated_func(*args, **kwargs): diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 5a6678036b44..a606aaf32ecd 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -853,8 +853,8 @@ def __init__(self, ax, mappable, **kw): mappable.autoscale_None() self.mappable = mappable - kw['cmap'] = mappable.cmap - kw['norm'] = mappable.norm + kw['cmap'] = cmap = mappable.cmap + kw['norm'] = norm = mappable.norm if isinstance(mappable, contour.ContourSet): CS = mappable @@ -869,6 +869,9 @@ def __init__(self, ax, mappable, **kw): if not CS.filled: self.add_lines(CS) else: + if getattr(cmap, 'colorbar_extend', False) is not False: + kw.setdefault('extend', cmap.colorbar_extend) + if isinstance(mappable, martist.Artist): kw['alpha'] = mappable.get_alpha() diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 497b8dc9d8fd..1066cf8067c6 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -508,6 +508,12 @@ def __init__(self, name, N=256): self._i_bad = N + 2 self._isinit = False + #: When this colormap exists on a scalar mappable and colorbar_extend + #: is not False, colorbar creation will pick up ``colorbar_extend`` as + #: the default value for the ``extend`` keyword in the + #: :class:`matplotlib.colorbar.Colorbar` constructor. + self.colorbar_extend = False + def __call__(self, X, alpha=None, bytes=False): """ Parameters @@ -832,7 +838,7 @@ def _init(self): class Normalize(object): """ A class which, when called, can normalize data into - the ``[0, 1]`` interval. + the ``[0.0, 1.0]`` interval. """ def __init__(self, vmin=None, vmax=None, clip=False): @@ -1212,8 +1218,12 @@ def inverse(self, value): return value # compatibility with earlier class names that violated convention: -normalize = Normalize -no_norm = NoNorm +normalize = cbook.deprecated('1.3', alternative='Normalize', + name='normalize', + obj_type='class alias')(Normalize) +no_norm = cbook.deprecated('1.3', alternative='NoNorm', + name='no_norm', + obj_type='class alias')(NoNorm) def rgb_to_hsv(arr): @@ -1405,3 +1415,71 @@ def shade_rgb(self, rgb, elevation, fraction=1.): hsv[:, :, 1:] = np.where(hsv[:, :, 1:] > 1., 1, hsv[:, :, 1:]) # convert modified hsv back to rgb. return hsv_to_rgb(hsv) + + +def from_levels_and_colors(levels, colors, extend='neither'): + """ + A helper routine to generate a cmap and a norm instance which + behave similar to contourf's levels and colors arguments. + + Parameters + ---------- + levels : sequence of numbers + The quantization levels used to construct the :class:`BoundaryNorm`. + Values ``v`` are quantizized to level ``i`` if + ``lev[i] <= v < lev[i+1]``. + colors : sequence of colors + The fill color to use for each level. If `extend` is "neither" there + must be ``n_level - 1`` colors. For an `extend` of "min" or "max" add + one extra color, and for an `extend` of "both" add two colors. + extend : {'neither', 'min', 'max', 'both'}, optional + The behaviour when a value falls out of range of the given levels. + See :func:`~matplotlib.pyplot.contourf` for details. + + Returns + ------- + (cmap, norm) : tuple containing a :class:`Colormap` and a \ + :class:`Normalize` instance + """ + colors_i0 = 0 + colors_i1 = None + + if extend == 'both': + colors_i0 = 1 + colors_i1 = -1 + extra_colors = 2 + elif extend == 'min': + colors_i0 = 1 + extra_colors = 1 + elif extend == 'max': + colors_i1 = -1 + extra_colors = 1 + elif extend == 'neither': + extra_colors = 0 + else: + raise ValueError('Unexpected value for extend: {0!r}'.format(extend)) + + n_data_colors = len(levels) - 1 + n_expected_colors = n_data_colors + extra_colors + if len(colors) != n_expected_colors: + raise ValueError('With extend == {0!r} and n_levels == {1!r} expected' + ' n_colors == {2!r}. Got {3!r}.' + ''.format(extend, len(levels), n_expected_colors, + len(colors))) + + cmap = ListedColormap(colors[colors_i0:colors_i1], N=n_data_colors) + + if extend in ['min', 'both']: + cmap.set_under(colors[0]) + else: + cmap.set_under('none') + + if extend in ['max', 'both']: + cmap.set_over(colors[-1]) + else: + cmap.set_over('none') + + cmap.colorbar_extend = extend + + norm = BoundaryNorm(levels, ncolors=n_data_colors) + return cmap, norm diff --git a/lib/matplotlib/tests/baseline_images/test_colors/levels_and_colors.png b/lib/matplotlib/tests/baseline_images/test_colors/levels_and_colors.png new file mode 100644 index 0000000000000000000000000000000000000000..9d9fe37ef5b8e7ccf8a17bad8c8630da99f06cae GIT binary patch literal 7627 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 E0M+gg&j0`b literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py index 5f1ff3c0eb33..900a373ddf09 100644 --- a/lib/matplotlib/tests/test_colors.py +++ b/lib/matplotlib/tests/test_colors.py @@ -1,12 +1,14 @@ -""" -Tests for the colors module. -""" - from __future__ import print_function +from nose.tools import assert_raises import numpy as np from numpy.testing.utils import assert_array_equal, assert_array_almost_equal + + import matplotlib.colors as mcolors import matplotlib.cm as cm +import matplotlib.pyplot as plt +from matplotlib.testing.decorators import image_comparison + def test_colormap_endian(): """ @@ -23,6 +25,7 @@ def test_colormap_endian(): #print(anative.dtype.isnative, aforeign.dtype.isnative) assert_array_equal(cmap(anative), cmap(aforeign)) + def test_BoundaryNorm(): """ Github issue #1258: interpolation was failing with numpy @@ -36,7 +39,8 @@ def test_BoundaryNorm(): ncolors = len(boundaries) bn = mcolors.BoundaryNorm(boundaries, ncolors) assert_array_equal(bn(vals), expected) - + + def test_LogNorm(): """ LogNorm igornoed clip, now it has the same @@ -46,6 +50,7 @@ def test_LogNorm(): ln = mcolors.LogNorm(clip=True, vmax=5) assert_array_equal(ln([1, 6]), [0, 1.0]) + def test_Normalize(): norm = mcolors.Normalize() vals = np.arange(-10, 10, 1, dtype=np.float) @@ -74,6 +79,7 @@ def _inverse_tester(norm_instance, vals): """ assert_array_almost_equal(norm_instance.inverse(norm_instance(vals)), vals) + def _scalar_tester(norm_instance, vals): """ Checks if scalars and arrays are handled the same way. @@ -82,6 +88,7 @@ def _scalar_tester(norm_instance, vals): scalar_result = [norm_instance(float(v)) for v in vals] assert_array_almost_equal(scalar_result, norm_instance(vals)) + def _mask_tester(norm_instance, vals): """ Checks mask handling @@ -89,3 +96,80 @@ def _mask_tester(norm_instance, vals): masked_array = np.ma.array(vals) masked_array[0] = np.ma.masked assert_array_equal(masked_array.mask, norm_instance(masked_array).mask) + + +@image_comparison(baseline_images=['levels_and_colors'], + extensions=['png']) +def test_cmap_and_norm_from_levels_and_colors(): + data = np.linspace(-2, 4, 49).reshape(7, 7) + levels = [-1, 2, 2.5, 3] + colors = ['red', 'green', 'blue', 'yellow', 'black'] + extend = 'both' + cmap, norm = mcolors.from_levels_and_colors(levels, colors, extend=extend) + + ax = plt.axes() + m = plt.pcolormesh(data, cmap=cmap, norm=norm) + plt.colorbar(m) + + # Hide the axes labels (but not the colorbar ones, as they are useful) + for lab in ax.get_xticklabels() + ax.get_yticklabels(): + lab.set_visible(False) + + +def test_cmap_and_norm_from_levels_and_colors2(): + levels = [-1, 2, 2.5, 3] + colors = ['red', (0, 1, 0), 'blue', (0.5, 0.5, 0.5), (0.0, 0.0, 0.0, 1.0)] + clr = mcolors.colorConverter.to_rgba_array(colors) + bad = (0.1, 0.1, 0.1, 0.1) + no_color = (0.0, 0.0, 0.0, 0.0) + + # Define the test values which are of interest. + # Note: levels are lev[i] <= v < lev[i+1] + tests = [('both', None, {-2: clr[0], + -1: clr[1], + 2: clr[2], + 2.25: clr[2], + 3: clr[4], + 3.5: clr[4], + np.ma.array(1, mask=True): bad}), + + ('min', -1, {-2: clr[0], + -1: clr[1], + 2: clr[2], + 2.25: clr[2], + 3: no_color, + 3.5: no_color, + np.ma.array(1, mask=True): bad}), + + ('max', -1, {-2: no_color, + -1: clr[0], + 2: clr[1], + 2.25: clr[1], + 3: clr[3], + 3.5: clr[3], + np.ma.array(1, mask=True): bad}), + + ('neither', -2, {-2: no_color, + -1: clr[0], + 2: clr[1], + 2.25: clr[1], + 3: no_color, + 3.5: no_color, + np.ma.array(1, mask=True): bad}), + ] + + for extend, i1, cases in tests: + cmap, norm = mcolors.from_levels_and_colors(levels, colors[0:i1], + extend=extend) + cmap.set_bad(bad) + for d_val, expected_color in sorted(cases.items()): + assert_array_equal(expected_color, cmap(norm([d_val]))[0], + 'Wih extend={0!r} and data ' + 'value={1!r}'.format(extend, d_val)) + + assert_raises(ValueError, mcolors.from_levels_and_colors, levels, colors) + + +if __name__ == '__main__': + import nose + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) From a7d12230d5c252fda81d360aa8bdd29bad01605f Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 28 May 2013 10:49:10 -0400 Subject: [PATCH 016/329] Add shape information to error message --- lib/matplotlib/axes.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/axes.py b/lib/matplotlib/axes.py index bf9e29f804bb..1f93652e09dd 100644 --- a/lib/matplotlib/axes.py +++ b/lib/matplotlib/axes.py @@ -7363,12 +7363,14 @@ def _pcolorargs(funcname, *args, **kw): funcname, funcname)) if allmatch: if not (Nx == numCols and Ny == numRows): - raise TypeError('Dimensions of C are incompatible with' - ' X and/or Y; see help(%s)' % (funcname,)) + raise TypeError('Dimensions of C %s are incompatible with' + ' X (%d) and/or Y (%d); see help(%s)' % ( + C.shape, Nx, Ny, funcname)) else: if not (numCols in (Nx, Nx-1) and numRows in (Ny, Ny-1)): - raise TypeError('Dimensions of C are incompatible with' - ' X and/or Y; see help(%s)' % (funcname,)) + raise TypeError('Dimensions of C %s are incompatible with' + ' X (%d) and/or Y (%d); see help(%s)' % ( + C.shape, Nx, Ny, funcname)) C = C[:Ny-1, :Nx-1] return X, Y, C From a35116c178b173ded9398c32690866001c004000 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 28 May 2013 11:17:06 -0400 Subject: [PATCH 017/329] Fix up error message about GObject introspection bindings --- lib/matplotlib/backends/backend_gtk3.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 3f3372ef0bea..1898ba18854e 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -11,12 +11,14 @@ def fn_name(): return sys._getframe(1).f_code.co_name try: gi.require_version("Gtk", "3.0") except ValueError: - raise ImportError("Gtk3 backend gtk3 development files to be installed.") + raise ImportError( + "Gtk3 backend requires the GObject introspection bindings for Gtk 3 " + "to be installed.") try: from gi.repository import Gtk, Gdk, GObject except ImportError: - raise ImportError("GTK3 backend requires pygobject to be installed.") + raise ImportError("Gtk3 backend requires pygobject to be installed.") import matplotlib from matplotlib._pylab_helpers import Gcf From fffe31241ba8afac9ff4180a6aab3064efd5db06 Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Sat, 25 May 2013 13:20:28 -1000 Subject: [PATCH 018/329] mlab.FIFOBuffer: remove fossil line referring to nonexistent method --- lib/matplotlib/mlab.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 2c0426d78f2f..cbbfb96f58a6 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -1276,7 +1276,6 @@ def update_datalim_to_current(self): x, y = self.asarrays() self.dataLim.update_from_data(x, y, True) - self.dataLim.update_numerix(x, y, True) def movavg(x,n): """ From c9484ae509f5d5846f6cfb8ec58df220550d7dd2 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 28 May 2013 11:25:26 -0400 Subject: [PATCH 019/329] Version bump --- lib/matplotlib/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 651ae1f1755f..083ff9ca6409 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -101,7 +101,7 @@ import sys -__version__ = '1.3.x' +__version__ = '1.4.x' __version__numpy__ = '1.4' # minimum required numpy version try: From 5fef0fa35e9f998dbbbaa69341ff04c535bf8732 Mon Sep 17 00:00:00 2001 From: Christoph Gohlke Date: Tue, 28 May 2013 20:20:13 -0600 Subject: [PATCH 020/329] Build the _windowing extension --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 8569d88fd5f6..5f1b561eb0d2 100644 --- a/setup.py +++ b/setup.py @@ -84,6 +84,7 @@ setupext.BackendGtk(), setupext.BackendAgg(), setupext.BackendCairo(), + setupext.Windowing(), 'Optional LaTeX dependencies', setupext.DviPng(), setupext.Ghostscript(), From 54bab6c473994090b87738f032048b564fdf07e1 Mon Sep 17 00:00:00 2001 From: Ryan Blomberg Date: Tue, 28 May 2013 21:02:58 -0700 Subject: [PATCH 021/329] changed URL to the current CSV API for yahoo finance --- lib/matplotlib/finance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/finance.py b/lib/matplotlib/finance.py index 991917fa609b..f4c0a7633c37 100644 --- a/lib/matplotlib/finance.py +++ b/lib/matplotlib/finance.py @@ -177,7 +177,7 @@ def fetch_historical_yahoo(ticker, date1, date2, cachename=None,dividends=False) else: g='d' - urlFmt = 'http://table.finance.yahoo.com/table.csv?a=%d&b=%d&c=%d&d=%d&e=%d&f=%d&s=%s&y=0&g=%s&ignore=.csv' + urlFmt = 'http://ichart.yahoo.com/table.csv?a=%d&b=%d&c=%d&d=%d&e=%d&f=%d&s=%s&y=0&g=%s&ignore=.csv' url = urlFmt % (d1[0], d1[1], d1[2], From 25719f7c2efc96354f0f3b068aaefda7fcde86db Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Tue, 28 May 2013 16:51:06 -0400 Subject: [PATCH 022/329] Update logo_sidebar_horiz.png --- doc/_static/logo_sidebar_horiz.png | Bin 28798 -> 61921 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/_static/logo_sidebar_horiz.png b/doc/_static/logo_sidebar_horiz.png index b9bf002c1c62dabc8afcea317ccb0dbfe81c3b9f..cb543d4101a1d6dfdb762a38fd8b2b196c000558 100644 GIT binary patch literal 61921 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 Date: Tue, 28 May 2013 12:18:17 -1000 Subject: [PATCH 023/329] backend gtk and gtk3: destroy figure save dialog after use --- lib/matplotlib/backends/backend_gtk.py | 4 +++- lib/matplotlib/backends/backend_gtk3.py | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_gtk.py b/lib/matplotlib/backends/backend_gtk.py index f28b07c2fa80..9a9bb9f6ff3b 100644 --- a/lib/matplotlib/backends/backend_gtk.py +++ b/lib/matplotlib/backends/backend_gtk.py @@ -748,7 +748,9 @@ def get_filechooser(self): return fc def save_figure(self, *args): - fname, format = self.get_filechooser().get_filename_from_user() + chooser = self.get_filechooser() + fname, format = chooser.get_filename_from_user() + chooser.destroy() if fname: startpath = os.path.expanduser(rcParams.get('savefig.directory', '')) if startpath == '': diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 88eee7ff5616..9dc1da1bda04 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -556,7 +556,9 @@ def get_filechooser(self): return fc def save_figure(self, *args): - fname, format = self.get_filechooser().get_filename_from_user() + chooser = self.get_filechooser() + fname, format = chooser.get_filename_from_user() + chooser.destroy() if fname: startpath = os.path.expanduser(rcParams.get('savefig.directory', '')) if startpath == '': @@ -567,7 +569,7 @@ def save_figure(self, *args): rcParams['savefig.directory'] = os.path.dirname(unicode(fname)) try: self.canvas.print_figure(fname, format=format) - except Exception, e: + except Exception as e: error_msg_gtk(str(e), parent=self) def configure_subplots(self, button): From 412ca06e5905c2d10c6de1567cc673a9ac7ce65a Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 29 May 2013 00:19:33 -0400 Subject: [PATCH 024/329] Fix bug in XFG_CONFIG handling --- lib/matplotlib/__init__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index c01e485fb8f3..ea44b858a34c 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -547,15 +547,16 @@ def _get_config_or_cache_dir(xdg_base): p = os.path.join(h, '.matplotlib') if (sys.platform.startswith('linux') and not os.path.exists(p)): - p = _get_xdg_config_dir() + p = os.path.join(xdg_base, 'matplotlib') if os.path.exists(p): if not _is_writable_dir(p): return _create_tmp_config_dir() else: - if not _is_writable_dir(h): + try: + mkdirs(p) + except OSError: return _create_tmp_config_dir() - mkdirs(p) return p From 5fcbe81dbaccce6ee08952cd5a8482deba5a63fb Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Wed, 29 May 2013 00:19:44 -0400 Subject: [PATCH 025/329] Fix deprecation warning when running tests --- lib/matplotlib/streamplot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/streamplot.py b/lib/matplotlib/streamplot.py index 5c3cc8ebc3bf..268c4de0dec0 100644 --- a/lib/matplotlib/streamplot.py +++ b/lib/matplotlib/streamplot.py @@ -119,7 +119,7 @@ def streamplot(axes, x, y, u, v, density=1, linewidth=None, color=None, if use_multicolor_lines: if norm is None: - norm = mcolors.normalize(color.min(), color.max()) + norm = mcolors.Normalize(color.min(), color.max()) if cmap is None: cmap = cm.get_cmap(matplotlib.rcParams['image.cmap']) else: From 513719eb93ffe7617fbdf68ce3425b9150ee4cc9 Mon Sep 17 00:00:00 2001 From: ugurthemaster Date: Wed, 29 May 2013 11:06:48 +0300 Subject: [PATCH 026/329] some additional comments have been added --- examples/api/barchart_demo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/api/barchart_demo.py b/examples/api/barchart_demo.py index 2c3468a47625..d7e098fbd534 100644 --- a/examples/api/barchart_demo.py +++ b/examples/api/barchart_demo.py @@ -19,7 +19,7 @@ womenStd = (3, 5, 2, 3, 3) rects2 = ax.bar(ind+width, womenMeans, width, color='y', yerr=womenStd) -# add some +# add some text for labels, title and axes ticks ax.set_ylabel('Scores') ax.set_title('Scores by group and gender') ax.set_xticks(ind+width) From 9866d7051878b8a8a17bd1ca3083d6f6da6b2271 Mon Sep 17 00:00:00 2001 From: ugurthemaster Date: Thu, 30 May 2013 11:08:05 +0300 Subject: [PATCH 027/329] Update pie_demo_features.py line break added before "plt.show()" line --- examples/pie_and_polar_charts/pie_demo_features.py | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/pie_and_polar_charts/pie_demo_features.py b/examples/pie_and_polar_charts/pie_demo_features.py index 763d38461aee..ae71b172c10d 100644 --- a/examples/pie_and_polar_charts/pie_demo_features.py +++ b/examples/pie_and_polar_charts/pie_demo_features.py @@ -29,4 +29,5 @@ autopct='%1.1f%%', shadow=True, startangle=90) # Set aspect ratio to be equal so that pie is drawn as a circle. plt.axis('equal') + plt.show() From adeba07b6e9a54afe6de5f6b6372de92172cc8cb Mon Sep 17 00:00:00 2001 From: ugurthemaster Date: Thu, 30 May 2013 11:11:30 +0300 Subject: [PATCH 028/329] Update spines_demo.py Line break added before "plt.show()" --- examples/ticks_and_spines/spines_demo.py | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/ticks_and_spines/spines_demo.py b/examples/ticks_and_spines/spines_demo.py index a720131e845c..0b5e450ed3b7 100644 --- a/examples/ticks_and_spines/spines_demo.py +++ b/examples/ticks_and_spines/spines_demo.py @@ -28,4 +28,5 @@ # Tweak spacing between subplots to prevent labels from overlapping plt.subplots_adjust(hspace=0.5) + plt.show() From 1d55912a9502c108abd8154f131768fa2e730443 Mon Sep 17 00:00:00 2001 From: Guillaume Gay Date: Fri, 31 May 2013 10:30:55 +0200 Subject: [PATCH 029/329] Fixed `simple_linear_interpolation` to avoid numpy DeprecationWarning over the use of non integer slice --- lib/matplotlib/cbook.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/cbook.py b/lib/matplotlib/cbook.py index 1193c6e284f4..745eabd84b1c 100644 --- a/lib/matplotlib/cbook.py +++ b/lib/matplotlib/cbook.py @@ -1712,8 +1712,8 @@ def simple_linear_interpolation(a, steps): a0 = a[0:-1] a1 = a[1:] delta = ((a1 - a0) / steps) - - for i in range(1, int(steps)): + steps = int(steps) + for i in range(1, steps): result[i::steps] = delta * i + a0 result[steps::steps] = a1 From e70f1db281d5d457f2be3b1bd543420ac786671a Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Sat, 22 Jun 2013 14:42:31 -0500 Subject: [PATCH 030/329] added `add_collection` call to `finance.volume_overlay` With out this line, the function updates the axes limits, but does not actually plot anything. --- lib/matplotlib/finance.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/finance.py b/lib/matplotlib/finance.py index 4f5e5c64f16f..c9a6358a6a35 100644 --- a/lib/matplotlib/finance.py +++ b/lib/matplotlib/finance.py @@ -573,6 +573,7 @@ def volume_overlay(ax, opens, closes, volumes, linewidths = (0.5,), ) + ax.add_collection(barCollection) corners = (0, 0), (len(bars), max(volumes)) ax.update_datalim(corners) ax.autoscale_view() From 4bcdd6894cd3ee52e46f06515c04fe9f2b5a7283 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Fri, 24 May 2013 20:02:30 -0500 Subject: [PATCH 031/329] brought backend_qt4.py into pep8 compliance. Not confident that the change to line 399 is the correct thing to do here. --- lib/matplotlib/backends/backend_qt4.py | 430 ++++++++++-------- lib/matplotlib/tests/test_coding_standards.py | 1 - 2 files changed, 242 insertions(+), 189 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt4.py b/lib/matplotlib/backends/backend_qt4.py index 53b7210489d2..17322c17407b 100644 --- a/lib/matplotlib/backends/backend_qt4.py +++ b/lib/matplotlib/backends/backend_qt4.py @@ -1,21 +1,33 @@ from __future__ import division, print_function -import math +import math # might not ever be used import os import re import signal import sys import matplotlib + +####### might not ever be used from matplotlib import verbose -from matplotlib.cbook import is_string_like, onetrue -from matplotlib.backend_bases import RendererBase, GraphicsContextBase, \ - FigureManagerBase, FigureCanvasBase, NavigationToolbar2, IdleEvent, \ - cursors, TimerBase +from matplotlib.cbook import onetrue +from matplotlib.backend_bases import GraphicsContextBase +from matplotlib.backend_bases import RendererBase +from matplotlib.backend_bases import IdleEvent +from matplotlib.mathtext import MathTextParser +####### +from matplotlib.cbook import is_string_like +from matplotlib.backend_bases import FigureManagerBase +from matplotlib.backend_bases import FigureCanvasBase +from matplotlib.backend_bases import NavigationToolbar2 + +from matplotlib.backend_bases import cursors +from matplotlib.backend_bases import TimerBase from matplotlib.backend_bases import ShowBase from matplotlib._pylab_helpers import Gcf from matplotlib.figure import Figure -from matplotlib.mathtext import MathTextParser + + from matplotlib.widgets import SubplotTool try: import matplotlib.backends.qt4_editor.figureoptions as figureoptions @@ -25,48 +37,55 @@ from qt4_compat import QtCore, QtGui, _getSaveFileName, __version__ backend_version = __version__ -def fn_name(): return sys._getframe(1).f_code.co_name + + +def fn_name(): + return sys._getframe(1).f_code.co_name DEBUG = False cursord = { - cursors.MOVE : QtCore.Qt.SizeAllCursor, - cursors.HAND : QtCore.Qt.PointingHandCursor, - cursors.POINTER : QtCore.Qt.ArrowCursor, - cursors.SELECT_REGION : QtCore.Qt.CrossCursor, + cursors.MOVE: QtCore.Qt.SizeAllCursor, + cursors.HAND: QtCore.Qt.PointingHandCursor, + cursors.POINTER: QtCore.Qt.ArrowCursor, + cursors.SELECT_REGION: QtCore.Qt.CrossCursor, } + def draw_if_interactive(): """ Is called after every pylab drawing command """ if matplotlib.is_interactive(): - figManager = Gcf.get_active() - if figManager != None: + figManager = Gcf.get_active() + if figManager is not None: figManager.canvas.draw_idle() + def _create_qApp(): """ Only one qApp can exist at a time, so check before creating one. """ if QtGui.QApplication.startingUp(): - if DEBUG: print("Starting up QApplication") + if DEBUG: + print("Starting up QApplication") global qApp app = QtGui.QApplication.instance() if app is None: - + # check for DISPLAY env variable on X11 build of Qt if hasattr(QtGui, "QX11Info"): display = os.environ.get('DISPLAY') if display is None or not re.search(':\d', display): raise RuntimeError('Invalid DISPLAY variable') - - qApp = QtGui.QApplication( [" "] ) - QtCore.QObject.connect( qApp, QtCore.SIGNAL( "lastWindowClosed()" ), - qApp, QtCore.SLOT( "quit()" ) ) + + qApp = QtGui.QApplication([" "]) + QtCore.QObject.connect(qApp, QtCore.SIGNAL("lastWindowClosed()"), + qApp, QtCore.SLOT("quit()")) else: qApp = app + class Show(ShowBase): def mainloop(self): # allow KeyboardInterrupt exceptions to close the plot window. @@ -76,7 +95,7 @@ def mainloop(self): show = Show() -def new_figure_manager( num, *args, **kwargs ): +def new_figure_manager(num, *args, **kwargs): """ Create a new figure manager instance """ @@ -117,7 +136,8 @@ def __init__(self, *args, **kwargs): self._timer_set_interval() def __del__(self): - # Probably not necessary in practice, but is good behavior to disconnect + # Probably not necessary in practice, but is good behavior to + # disconnect try: TimerBase.__del__(self) QtCore.QObject.disconnect(self._timer, @@ -139,33 +159,33 @@ def _timer_stop(self): self._timer.stop() -class FigureCanvasQT( QtGui.QWidget, FigureCanvasBase ): - keyvald = { QtCore.Qt.Key_Control : 'control', - QtCore.Qt.Key_Shift : 'shift', - QtCore.Qt.Key_Alt : 'alt', - QtCore.Qt.Key_Meta : 'super', - QtCore.Qt.Key_Return : 'enter', - QtCore.Qt.Key_Left : 'left', - QtCore.Qt.Key_Up : 'up', - QtCore.Qt.Key_Right : 'right', - QtCore.Qt.Key_Down : 'down', - QtCore.Qt.Key_Escape : 'escape', - QtCore.Qt.Key_F1 : 'f1', - QtCore.Qt.Key_F2 : 'f2', - QtCore.Qt.Key_F3 : 'f3', - QtCore.Qt.Key_F4 : 'f4', - QtCore.Qt.Key_F5 : 'f5', - QtCore.Qt.Key_F6 : 'f6', - QtCore.Qt.Key_F7 : 'f7', - QtCore.Qt.Key_F8 : 'f8', - QtCore.Qt.Key_F9 : 'f9', - QtCore.Qt.Key_F10 : 'f10', - QtCore.Qt.Key_F11 : 'f11', - QtCore.Qt.Key_F12 : 'f12', - QtCore.Qt.Key_Home : 'home', - QtCore.Qt.Key_End : 'end', - QtCore.Qt.Key_PageUp : 'pageup', - QtCore.Qt.Key_PageDown : 'pagedown', +class FigureCanvasQT(QtGui.QWidget, FigureCanvasBase): + keyvald = {QtCore.Qt.Key_Control: 'control', + QtCore.Qt.Key_Shift: 'shift', + QtCore.Qt.Key_Alt: 'alt', + QtCore.Qt.Key_Meta: 'super', + QtCore.Qt.Key_Return: 'enter', + QtCore.Qt.Key_Left: 'left', + QtCore.Qt.Key_Up: 'up', + QtCore.Qt.Key_Right: 'right', + QtCore.Qt.Key_Down: 'down', + QtCore.Qt.Key_Escape: 'escape', + QtCore.Qt.Key_F1: 'f1', + QtCore.Qt.Key_F2: 'f2', + QtCore.Qt.Key_F3: 'f3', + QtCore.Qt.Key_F4: 'f4', + QtCore.Qt.Key_F5: 'f5', + QtCore.Qt.Key_F6: 'f6', + QtCore.Qt.Key_F7: 'f7', + QtCore.Qt.Key_F8: 'f8', + QtCore.Qt.Key_F9: 'f9', + QtCore.Qt.Key_F10: 'f10', + QtCore.Qt.Key_F11: 'f11', + QtCore.Qt.Key_F12: 'f12', + QtCore.Qt.Key_Home: 'home', + QtCore.Qt.Key_End: 'end', + QtCore.Qt.Key_PageUp: 'pageup', + QtCore.Qt.Key_PageDown: 'pagedown', } # define the modifier keys which are to be collected on keyboard events. @@ -173,7 +193,8 @@ class FigureCanvasQT( QtGui.QWidget, FigureCanvasBase ): _modifier_keys = [ (QtCore.Qt.MetaModifier, 'super', QtCore.Qt.Key_Meta), (QtCore.Qt.AltModifier, 'alt', QtCore.Qt.Key_Alt), - (QtCore.Qt.ControlModifier, 'ctrl', QtCore.Qt.Key_Control) + (QtCore.Qt.ControlModifier, 'ctrl', + QtCore.Qt.Key_Control) ] _ctrl_modifier = QtCore.Qt.ControlModifier @@ -182,39 +203,43 @@ class FigureCanvasQT( QtGui.QWidget, FigureCanvasBase ): # in OSX, the control and super (aka cmd/apple) keys are switched, so # switch them back. keyvald.update({ - QtCore.Qt.Key_Control : 'super', # cmd/apple key - QtCore.Qt.Key_Meta : 'control', + QtCore.Qt.Key_Control: 'super', # cmd/apple key + QtCore.Qt.Key_Meta: 'control', }) _modifier_keys = [ - (QtCore.Qt.ControlModifier, 'super', QtCore.Qt.Key_Control), - (QtCore.Qt.AltModifier, 'alt', QtCore.Qt.Key_Alt), - (QtCore.Qt.MetaModifier, 'ctrl', QtCore.Qt.Key_Meta), + (QtCore.Qt.ControlModifier, 'super', + QtCore.Qt.Key_Control), + (QtCore.Qt.AltModifier, 'alt', + QtCore.Qt.Key_Alt), + (QtCore.Qt.MetaModifier, 'ctrl', + QtCore.Qt.Key_Meta), ] _ctrl_modifier = QtCore.Qt.MetaModifier # map Qt button codes to MouseEvent's ones: - buttond = {QtCore.Qt.LeftButton : 1, - QtCore.Qt.MidButton : 2, - QtCore.Qt.RightButton : 3, - # QtCore.Qt.XButton1 : None, - # QtCore.Qt.XButton2 : None, + buttond = {QtCore.Qt.LeftButton: 1, + QtCore.Qt.MidButton: 2, + QtCore.Qt.RightButton: 3, + # QtCore.Qt.XButton1: None, + # QtCore.Qt.XButton2: None, } - def __init__( self, figure ): - if DEBUG: print('FigureCanvasQt: ', figure) + def __init__(self, figure): + if DEBUG: + print('FigureCanvasQt: ', figure) _create_qApp() - QtGui.QWidget.__init__( self ) - FigureCanvasBase.__init__( self, figure ) + QtGui.QWidget.__init__(self) + FigureCanvasBase.__init__(self, figure) self.figure = figure - self.setMouseTracking( True ) + self.setMouseTracking(True) self._idle = True # hide until we can test and fix #self.startTimer(backend_IdleEvent.milliseconds) - w,h = self.get_width_height() - self.resize( w, h ) + w, h = self.get_width_height() + self.resize(w, h) def __timerEvent(self, event): # hide until we can test and fix @@ -227,14 +252,15 @@ def leaveEvent(self, event): QtGui.QApplication.restoreOverrideCursor() FigureCanvasBase.leave_notify_event(self, event) - def mousePressEvent( self, event ): + def mousePressEvent(self, event): x = event.pos().x() # flipy so y=0 is bottom of canvas y = self.figure.bbox.height - event.pos().y() button = self.buttond.get(event.button()) if button is not None: - FigureCanvasBase.button_press_event( self, x, y, button ) - if DEBUG: print('button pressed:', event.button()) + FigureCanvasBase.button_press_event(self, x, y, button) + if DEBUG: + print('button pressed:', event.button()) def mouseDoubleClickEvent(self, event): x = event.pos().x() @@ -242,48 +268,55 @@ def mouseDoubleClickEvent(self, event): y = self.figure.bbox.height - event.pos().y() button = self.buttond.get(event.button()) if button is not None: - FigureCanvasBase.button_press_event( self, x, y, button, dblclick=True ) - if DEBUG: print ('button doubleclicked:', event.button()) + FigureCanvasBase.button_press_event(self, x, y, + button, dblclick=True) + if DEBUG: + print ('button doubleclicked:', event.button()) - def mouseMoveEvent( self, event ): + def mouseMoveEvent(self, event): x = event.x() # flipy so y=0 is bottom of canvas y = self.figure.bbox.height - event.y() - FigureCanvasBase.motion_notify_event( self, x, y ) + FigureCanvasBase.motion_notify_event(self, x, y) #if DEBUG: print('mouse move') - def mouseReleaseEvent( self, event ): + def mouseReleaseEvent(self, event): x = event.x() # flipy so y=0 is bottom of canvas y = self.figure.bbox.height - event.y() button = self.buttond.get(event.button()) if button is not None: - FigureCanvasBase.button_release_event( self, x, y, button ) - if DEBUG: print('button released') + FigureCanvasBase.button_release_event(self, x, y, button) + if DEBUG: + print('button released') - def wheelEvent( self, event ): + def wheelEvent(self, event): x = event.x() # flipy so y=0 is bottom of canvas y = self.figure.bbox.height - event.y() # from QWheelEvent::delta doc steps = event.delta()/120 if (event.orientation() == QtCore.Qt.Vertical): - FigureCanvasBase.scroll_event( self, x, y, steps) - if DEBUG: print('scroll event : delta = %i, steps = %i ' % (event.delta(),steps)) + FigureCanvasBase.scroll_event(self, x, y, steps) + if DEBUG: + print('scroll event: delta = %i, ' + 'steps = %i ' % (event.delta(), steps)) - def keyPressEvent( self, event ): - key = self._get_key( event ) + def keyPressEvent(self, event): + key = self._get_key(event) if key is None: return - FigureCanvasBase.key_press_event( self, key ) - if DEBUG: print('key press', key) + FigureCanvasBase.key_press_event(self, key) + if DEBUG: + print('key press', key) - def keyReleaseEvent( self, event ): + def keyReleaseEvent(self, event): key = self._get_key(event) if key is None: return - FigureCanvasBase.key_release_event( self, key ) - if DEBUG: print('key release', key) + FigureCanvasBase.key_release_event(self, key) + if DEBUG: + print('key release', key) def resizeEvent(self, event): w = event.size().width() @@ -294,20 +327,20 @@ def resizeEvent(self, event): dpival = self.figure.dpi winch = w/dpival hinch = h/dpival - self.figure.set_size_inches( winch, hinch ) + self.figure.set_size_inches(winch, hinch) FigureCanvasBase.resize_event(self) self.draw() self.update() QtGui.QWidget.resizeEvent(self, event) - def sizeHint( self ): + def sizeHint(self): w, h = self.get_width_height() - return QtCore.QSize( w, h ) + return QtCore.QSize(w, h) - def minumumSizeHint( self ): - return QtCore.QSize( 10, 10 ) + def minumumSizeHint(self): + return QtCore.QSize(10, 10) - def _get_key( self, event ): + def _get_key(self, event): if event.isAutoRepeat(): return None @@ -332,48 +365,55 @@ def _get_key( self, event ): key = self.keyvald.get(event.key()) if key is not None: - # prepend the ctrl, alt, super keys if appropriate (sorted in that order) + # prepend the ctrl, alt, super keys if appropriate (sorted + # in that order) for modifier, prefix, Qt_key in self._modifier_keys: - if event.key() != Qt_key and int(event.modifiers()) & modifier == modifier: + if (event.key() != Qt_key and + int(event.modifiers()) & modifier == modifier): key = u'{0}+{1}'.format(prefix, key) return key def new_timer(self, *args, **kwargs): """ - Creates a new backend-specific subclass of :class:`backend_bases.Timer`. - This is useful for getting periodic events through the backend's native - event loop. Implemented only for backends with GUIs. + Creates a new backend-specific subclass of + :class:`backend_bases.Timer`. This is useful for getting + periodic events through the backend's native event + loop. Implemented only for backends with GUIs. optional arguments: - *interval* - Timer interval in milliseconds - *callbacks* - Sequence of (func, args, kwargs) where func(*args, **kwargs) will - be executed by the timer every *interval*. - """ + *interval* Timer interval in milliseconds *callbacks* Sequence + of (func, args, kwargs) where func(*args, **kwargs) will be + executed by the timer every *interval*. + + """ return TimerQT(*args, **kwargs) def flush_events(self): QtGui.qApp.processEvents() - def start_event_loop(self,timeout): - FigureCanvasBase.start_event_loop_default(self,timeout) - start_event_loop.__doc__=FigureCanvasBase.start_event_loop_default.__doc__ + def start_event_loop(self, timeout): + FigureCanvasBase.start_event_loop_default(self, timeout) + + start_event_loop.__doc__ = \ + FigureCanvasBase.start_event_loop_default.__doc__ def stop_event_loop(self): FigureCanvasBase.stop_event_loop_default(self) - stop_event_loop.__doc__=FigureCanvasBase.stop_event_loop_default.__doc__ + + stop_event_loop.__doc__ = FigureCanvasBase.stop_event_loop_default.__doc__ def draw_idle(self): 'update drawing area only if idle' d = self._idle self._idle = False + def idle_draw(*args): self.draw() self._idle = True - if d: QtCore.QTimer.singleShot(0, idle_draw) + if d: + QtCore.QTimer.singleShot(0, idle_draw) class MainWindow(QtGui.QMainWindow): @@ -404,7 +444,8 @@ def __init__(self, canvas, num): self._widgetclosed) self.window.setWindowTitle("Figure %d" % num) - image = os.path.join(matplotlib.rcParams['datapath'], 'images', 'matplotlib.png') + image = os.path.join(matplotlib.rcParams['datapath'], + 'images', 'matplotlib.png') self.window.setWindowIcon(QtGui.QIcon(image)) # Give the keyboard focus to the figure instead of the @@ -509,7 +550,8 @@ def get_window_title(self): def set_window_title(self, title): self.window.setWindowTitle(title) -class NavigationToolbar2QT( NavigationToolbar2, QtGui.QToolBar ): + +class NavigationToolbar2QT(NavigationToolbar2, QtGui.QToolBar): def __init__(self, canvas, parent, coordinates=True): """ coordinates: should we show the coordinates on the right? """ self.canvas = canvas @@ -517,14 +559,14 @@ def __init__(self, canvas, parent, coordinates=True): self._actions = {} """A mapping of toolitem method names to their QActions""" - QtGui.QToolBar.__init__( self, parent ) - NavigationToolbar2.__init__( self, canvas ) + QtGui.QToolBar.__init__(self, parent) + NavigationToolbar2.__init__(self, canvas) def _icon(self, name): return QtGui.QIcon(os.path.join(self.basedir, name)) def _init_toolbar(self): - self.basedir = os.path.join(matplotlib.rcParams[ 'datapath' ],'images') + self.basedir = os.path.join(matplotlib.rcParams['datapath'], 'images') for text, tooltip_text, image_file, callback in self.toolitems: if text is None: @@ -549,9 +591,9 @@ def _init_toolbar(self): # The stretch factor is 1 which means any resizing of the toolbar # will resize this label instead of the buttons. if self.coordinates: - self.locLabel = QtGui.QLabel( "", self ) + self.locLabel = QtGui.QLabel("", self) self.locLabel.setAlignment( - QtCore.Qt.AlignRight | QtCore.Qt.AlignTop ) + QtCore.Qt.AlignRight | QtCore.Qt.AlignTop) self.locLabel.setSizePolicy( QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Ignored)) @@ -580,9 +622,9 @@ def edit_parameters(self): fmt = "%(axes_repr)s (%(ylabel)s)" else: fmt = "%(axes_repr)s" - titles.append(fmt % dict(title = title, - ylabel = ylabel, - axes_repr = repr(axes))) + titles.append(fmt % dict(title=title, + ylabel=ylabel, + axes_repr=repr(axes))) item, ok = QtGui.QInputDialog.getItem(self, 'Customize', 'Select axes:', titles, 0, False) @@ -606,19 +648,20 @@ def zoom(self, *args): super(NavigationToolbar2QT, self).zoom(*args) self._update_buttons_checked() - def dynamic_update( self ): + def dynamic_update(self): self.canvas.draw() - def set_message( self, s ): + def set_message(self, s): self.emit(QtCore.SIGNAL("message"), s) if self.coordinates: self.locLabel.setText(s.replace(', ', '\n')) - def set_cursor( self, cursor ): - if DEBUG: print('Set cursor' , cursor) + def set_cursor(self, cursor): + if DEBUG: + print('Set cursor', cursor) self.canvas.setCursor(cursord[cursor]) - def draw_rubberband( self, event, x0, y0, x1, y1 ): + def draw_rubberband(self, event, x0, y0, x1, y1): height = self.canvas.figure.bbox.height y1 = height - y1 y0 = height - y0 @@ -626,20 +669,22 @@ def draw_rubberband( self, event, x0, y0, x1, y1 ): w = abs(x1 - x0) h = abs(y1 - y0) - rect = [ int(val)for val in (min(x0,x1), min(y0, y1), w, h) ] - self.canvas.drawRectangle( rect ) + rect = [int(val)for val in (min(x0, x1), min(y0, y1), w, h)] + self.canvas.drawRectangle(rect) def configure_subplots(self): self.adj_window = QtGui.QMainWindow() win = self.adj_window win.setWindowTitle("Subplot Configuration Tool") - image = os.path.join( matplotlib.rcParams['datapath'],'images','matplotlib.png' ) - win.setWindowIcon(QtGui.QIcon( image )) + image = os.path.join(matplotlib.rcParams['datapath'], + 'images', 'matplotlib.png') + win.setWindowIcon(QtGui.QIcon(image)) tool = SubplotToolQt(self.canvas.figure, win) win.setCentralWidget(tool) - win.setSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) + win.setSizePolicy(QtGui.QSizePolicy.Preferred, + QtGui.QSizePolicy.Preferred) win.show() @@ -672,17 +717,17 @@ def save_figure(self, *args): matplotlib.rcParams['savefig.directory'] = startpath else: # save dir for next time - matplotlib.rcParams['savefig.directory'] = os.path.dirname(unicode(fname)) + matplotlib.rcParams['savefig.directory'] = os.path.dirname( + unicode(fname)) try: - self.canvas.print_figure( unicode(fname) ) + self.canvas.print_figure(unicode(fname)) except Exception as e: QtGui.QMessageBox.critical( self, "Error saving file", str(e), QtGui.QMessageBox.Ok, QtGui.QMessageBox.NoButton) - -class SubplotToolQt( SubplotTool, QtGui.QWidget ): +class SubplotToolQt(SubplotTool, QtGui.QWidget): def __init__(self, targetfig, parent): QtGui.QWidget.__init__(self, None) @@ -697,22 +742,23 @@ def __init__(self, targetfig, parent): self.sliderhspace = QtGui.QSlider(QtCore.Qt.Vertical) # constraints - QtCore.QObject.connect( self.sliderleft, - QtCore.SIGNAL( "valueChanged(int)" ), - self.sliderright.setMinimum ) - QtCore.QObject.connect( self.sliderright, - QtCore.SIGNAL( "valueChanged(int)" ), - self.sliderleft.setMaximum ) - QtCore.QObject.connect( self.sliderbottom, - QtCore.SIGNAL( "valueChanged(int)" ), - self.slidertop.setMinimum ) - QtCore.QObject.connect( self.slidertop, - QtCore.SIGNAL( "valueChanged(int)" ), - self.sliderbottom.setMaximum ) + QtCore.QObject.connect(self.sliderleft, + QtCore.SIGNAL("valueChanged(int)"), + self.sliderright.setMinimum) + QtCore.QObject.connect(self.sliderright, + QtCore.SIGNAL("valueChanged(int)"), + self.sliderleft.setMaximum) + QtCore.QObject.connect(self.sliderbottom, + QtCore.SIGNAL("valueChanged(int)"), + self.slidertop.setMinimum) + QtCore.QObject.connect(self.slidertop, + QtCore.SIGNAL("valueChanged(int)"), + self.sliderbottom.setMaximum) sliders = (self.sliderleft, self.sliderbottom, self.sliderright, - self.slidertop, self.sliderwspace, self.sliderhspace, ) - adjustments = ('left:', 'bottom:', 'right:', 'top:', 'wspace:', 'hspace:') + self.slidertop, self.sliderwspace, self.sliderhspace,) + adjustments = ('left:', 'bottom:', 'right:', + 'top:', 'wspace:', 'hspace:') for slider, adjustment in zip(sliders, adjustments): slider.setMinimum(0) @@ -730,7 +776,7 @@ def __init__(self, targetfig, parent): layout.addWidget(self.slidertop, 1, 2) layout.setAlignment(self.slidertop, QtCore.Qt.AlignHCenter) - bottomlabel = QtGui.QLabel('bottom') + bottomlabel = QtGui.QLabel('bottom') # this might not ever be used layout.addWidget(QtGui.QLabel('bottom'), 4, 2) layout.addWidget(self.sliderbottom, 3, 2) layout.setAlignment(self.sliderbottom, QtCore.Qt.AlignHCenter) @@ -751,97 +797,105 @@ def __init__(self, targetfig, parent): layout.addWidget(self.sliderwspace, 3, 6) layout.setAlignment(self.sliderwspace, QtCore.Qt.AlignBottom) - layout.setRowStretch(1,1) - layout.setRowStretch(3,1) - layout.setColumnStretch(1,1) - layout.setColumnStretch(3,1) - layout.setColumnStretch(6,1) + layout.setRowStretch(1, 1) + layout.setRowStretch(3, 1) + layout.setColumnStretch(1, 1) + layout.setColumnStretch(3, 1) + layout.setColumnStretch(6, 1) self.setLayout(layout) self.sliderleft.setSliderPosition(int(targetfig.subplotpars.left*1000)) - self.sliderbottom.setSliderPosition(\ + self.sliderbottom.setSliderPosition( int(targetfig.subplotpars.bottom*1000)) - self.sliderright.setSliderPosition(\ + self.sliderright.setSliderPosition( int(targetfig.subplotpars.right*1000)) self.slidertop.setSliderPosition(int(targetfig.subplotpars.top*1000)) - self.sliderwspace.setSliderPosition(\ + self.sliderwspace.setSliderPosition( int(targetfig.subplotpars.wspace*1000)) - self.sliderhspace.setSliderPosition(\ + self.sliderhspace.setSliderPosition( int(targetfig.subplotpars.hspace*1000)) - QtCore.QObject.connect( self.sliderleft, - QtCore.SIGNAL( "valueChanged(int)" ), - self.funcleft ) - QtCore.QObject.connect( self.sliderbottom, - QtCore.SIGNAL( "valueChanged(int)" ), - self.funcbottom ) - QtCore.QObject.connect( self.sliderright, - QtCore.SIGNAL( "valueChanged(int)" ), - self.funcright ) - QtCore.QObject.connect( self.slidertop, - QtCore.SIGNAL( "valueChanged(int)" ), - self.functop ) - QtCore.QObject.connect( self.sliderwspace, - QtCore.SIGNAL( "valueChanged(int)" ), - self.funcwspace ) - QtCore.QObject.connect( self.sliderhspace, - QtCore.SIGNAL( "valueChanged(int)" ), - self.funchspace ) + QtCore.QObject.connect(self.sliderleft, + QtCore.SIGNAL("valueChanged(int)"), + self.funcleft) + QtCore.QObject.connect(self.sliderbottom, + QtCore.SIGNAL("valueChanged(int)"), + self.funcbottom) + QtCore.QObject.connect(self.sliderright, + QtCore.SIGNAL("valueChanged(int)"), + self.funcright) + QtCore.QObject.connect(self.slidertop, + QtCore.SIGNAL("valueChanged(int)"), + self.functop) + QtCore.QObject.connect(self.sliderwspace, + QtCore.SIGNAL("valueChanged(int)"), + self.funcwspace) + QtCore.QObject.connect(self.sliderhspace, + QtCore.SIGNAL("valueChanged(int)"), + self.funchspace) def funcleft(self, val): if val == self.sliderright.value(): val -= 1 self.targetfig.subplots_adjust(left=val/1000.) - if self.drawon: self.targetfig.canvas.draw() + if self.drawon: + self.targetfig.canvas.draw() def funcright(self, val): if val == self.sliderleft.value(): val += 1 self.targetfig.subplots_adjust(right=val/1000.) - if self.drawon: self.targetfig.canvas.draw() + if self.drawon: + self.targetfig.canvas.draw() def funcbottom(self, val): if val == self.slidertop.value(): val -= 1 self.targetfig.subplots_adjust(bottom=val/1000.) - if self.drawon: self.targetfig.canvas.draw() + if self.drawon: + self.targetfig.canvas.draw() def functop(self, val): if val == self.sliderbottom.value(): val += 1 self.targetfig.subplots_adjust(top=val/1000.) - if self.drawon: self.targetfig.canvas.draw() + if self.drawon: + self.targetfig.canvas.draw() def funcwspace(self, val): self.targetfig.subplots_adjust(wspace=val/1000.) - if self.drawon: self.targetfig.canvas.draw() + if self.drawon: + self.targetfig.canvas.draw() def funchspace(self, val): self.targetfig.subplots_adjust(hspace=val/1000.) - if self.drawon: self.targetfig.canvas.draw() + if self.drawon: + self.targetfig.canvas.draw() + +def error_msg_qt(msg, parent=None): + if not is_string_like(msg): + msg = ','.join(map(str, msg)) -def error_msg_qt( msg, parent=None ): - if not is_string_like( msg ): - msg = ','.join( map( str,msg ) ) + QtGui.QMessageBox.warning(None, "Matplotlib", msg, QtGui.QMessageBox.Ok) - QtGui.QMessageBox.warning( None, "Matplotlib", msg, QtGui.QMessageBox.Ok ) -def exception_handler( type, value, tb ): +def exception_handler(type, value, tb): """Handle uncaught exceptions It does not catch SystemExit """ msg = '' # get the filename attribute if available (for IOError) - if hasattr(value, 'filename') and value.filename != None: + if hasattr(value, 'filename') and value.filename is not None: msg = value.filename + ': ' - if hasattr(value, 'strerror') and value.strerror != None: + if hasattr(value, 'strerror') and value.strerror is not None: msg += value.strerror else: msg += str(value) - if len( msg ) : error_msg_qt( msg ) + if len(msg): + error_msg_qt(msg) FigureManager = FigureManagerQT diff --git a/lib/matplotlib/tests/test_coding_standards.py b/lib/matplotlib/tests/test_coding_standards.py index 0b0fb976f623..804e7e62c002 100644 --- a/lib/matplotlib/tests/test_coding_standards.py +++ b/lib/matplotlib/tests/test_coding_standards.py @@ -119,7 +119,6 @@ class StandardReportWithExclusions(pep8.StandardReport): '*/matplotlib/backends/backend_pdf.py', '*/matplotlib/backends/backend_pgf.py', '*/matplotlib/backends/backend_ps.py', - '*/matplotlib/backends/backend_qt4.py', '*/matplotlib/backends/backend_qt4agg.py', '*/matplotlib/backends/backend_svg.py', '*/matplotlib/backends/backend_template.py', From 4fd11bed56f34fa2307fbfe400dcef2b6eb4a67b Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Fri, 24 May 2013 20:09:31 -0500 Subject: [PATCH 032/329] brought ../backends/backend_qt4agg.py into pep8 compliance --- lib/matplotlib/backends/backend_qt4agg.py | 67 ++++++++++++------- lib/matplotlib/tests/test_coding_standards.py | 1 - 2 files changed, 41 insertions(+), 27 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt4agg.py b/lib/matplotlib/backends/backend_qt4agg.py index 659f4a8ddae1..e192b5efea67 100644 --- a/lib/matplotlib/backends/backend_qt4agg.py +++ b/lib/matplotlib/backends/backend_qt4agg.py @@ -3,16 +3,24 @@ """ from __future__ import division, print_function -import os, sys +import os # not used +import sys import ctypes import matplotlib from matplotlib.figure import Figure from backend_agg import FigureCanvasAgg -from backend_qt4 import QtCore, QtGui, FigureManagerQT, FigureCanvasQT,\ - show, draw_if_interactive, backend_version, \ - NavigationToolbar2QT +from backend_qt4 import QtCore +from backend_qt4 import QtGui +from backend_qt4 import FigureManagerQT +from backend_qt4 import FigureCanvasQT +from backend_qt4 import NavigationToolbar2QT +##### not used +from backend_qt4 import show +from backend_qt4 import draw_if_interactive +from backend_qt4 import backend_version +###### DEBUG = False @@ -21,13 +29,14 @@ _decref.restype = None -def new_figure_manager( num, *args, **kwargs ): +def new_figure_manager(num, *args, **kwargs): """ Create a new figure manager instance """ - if DEBUG: print('backend_qtagg.new_figure_manager') + if DEBUG: + print('backend_qtagg.new_figure_manager') FigureClass = kwargs.pop('FigureClass', Figure) - thisFig = FigureClass( *args, **kwargs ) + thisFig = FigureClass(*args, **kwargs) return new_figure_manager_given_figure(num, thisFig) @@ -36,26 +45,28 @@ def new_figure_manager_given_figure(num, figure): Create a new figure manager instance for the given figure. """ canvas = FigureCanvasQTAgg(figure) - return FigureManagerQT( canvas, num ) + return FigureManagerQT(canvas, num) class NavigationToolbar2QTAgg(NavigationToolbar2QT): def _get_canvas(self, fig): return FigureCanvasQTAgg(fig) + class FigureManagerQTAgg(FigureManagerQT): def _get_toolbar(self, canvas, parent): # must be inited after the window, drawingArea and figure # attrs are set - if matplotlib.rcParams['toolbar']=='classic': + if matplotlib.rcParams['toolbar'] == 'classic': print("Classic toolbar is not supported") - elif matplotlib.rcParams['toolbar']=='toolbar2': + elif matplotlib.rcParams['toolbar'] == 'toolbar2': toolbar = NavigationToolbar2QTAgg(canvas, parent) else: toolbar = None return toolbar -class FigureCanvasQTAgg( FigureCanvasQT, FigureCanvasAgg ): + +class FigureCanvasQTAgg(FigureCanvasQT, FigureCanvasAgg): """ The canvas the figure renders into. Calls the draw and print fig methods, creates the renderers, etc... @@ -65,30 +76,32 @@ class FigureCanvasQTAgg( FigureCanvasQT, FigureCanvasAgg ): figure - A Figure instance """ - def __init__( self, figure ): - if DEBUG: print('FigureCanvasQtAgg: ', figure) - FigureCanvasQT.__init__( self, figure ) - FigureCanvasAgg.__init__( self, figure ) + def __init__(self, figure): + if DEBUG: + print('FigureCanvasQtAgg: ', figure) + FigureCanvasQT.__init__(self, figure) + FigureCanvasAgg.__init__(self, figure) self.drawRect = False self.rect = [] self.blitbox = None self.setAttribute(QtCore.Qt.WA_OpaquePaintEvent) - def drawRectangle( self, rect ): + def drawRectangle(self, rect): self.rect = rect self.drawRect = True - self.repaint( ) + self.repaint() - def paintEvent( self, e ): + def paintEvent(self, e): """ Copy the image from the Agg canvas to the qt.drawable. In Qt, all drawing should be done inside of here when a widget is shown onscreen. """ - #FigureCanvasQT.paintEvent( self, e ) - if DEBUG: print('FigureCanvasQtAgg.paintEvent: ', self, \ - self.get_width_height()) + #FigureCanvasQT.paintEvent(self, e) + if DEBUG: + print('FigureCanvasQtAgg.paintEvent: ', self, + self.get_width_height()) if self.blitbox is None: # matplotlib is in rgba byte order. QImage wants to put the bytes @@ -110,8 +123,9 @@ def paintEvent( self, e ): # draw the zoom rectangle to the QPainter if self.drawRect: - p.setPen( QtGui.QPen( QtCore.Qt.black, 1, QtCore.Qt.DotLine ) ) - p.drawRect( self.rect[0], self.rect[1], self.rect[2], self.rect[3] ) + p.setPen(QtGui.QPen(QtCore.Qt.black, 1, QtCore.Qt.DotLine)) + p.drawRect(self.rect[0], self.rect[1], + self.rect[2], self.rect[3]) p.end() # This works around a bug in PySide 1.1.2 on Python 3.x, @@ -129,15 +143,16 @@ def paintEvent( self, e ): t = int(b) + h reg = self.copy_from_bbox(bbox) stringBuffer = reg.to_string_argb() - qImage = QtGui.QImage(stringBuffer, w, h, QtGui.QImage.Format_ARGB32) + qImage = QtGui.QImage(stringBuffer, w, h, + QtGui.QImage.Format_ARGB32) pixmap = QtGui.QPixmap.fromImage(qImage) - p = QtGui.QPainter( self ) + p = QtGui.QPainter(self) p.drawPixmap(QtCore.QPoint(l, self.renderer.height-t), pixmap) p.end() self.blitbox = None self.drawRect = False - def draw( self ): + def draw(self): """ Draw the figure with Agg, and queue a request for a Qt draw. diff --git a/lib/matplotlib/tests/test_coding_standards.py b/lib/matplotlib/tests/test_coding_standards.py index 804e7e62c002..44c16a8d601a 100644 --- a/lib/matplotlib/tests/test_coding_standards.py +++ b/lib/matplotlib/tests/test_coding_standards.py @@ -119,7 +119,6 @@ class StandardReportWithExclusions(pep8.StandardReport): '*/matplotlib/backends/backend_pdf.py', '*/matplotlib/backends/backend_pgf.py', '*/matplotlib/backends/backend_ps.py', - '*/matplotlib/backends/backend_qt4agg.py', '*/matplotlib/backends/backend_svg.py', '*/matplotlib/backends/backend_template.py', '*/matplotlib/backends/backend_tkagg.py', From 7bd116c0de3f6df296e4a8ea3ee448b0ad84bcc9 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Fri, 24 May 2013 20:11:45 -0500 Subject: [PATCH 033/329] brought qt4_compat.py into pep8 compliance --- lib/matplotlib/backends/qt4_compat.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/backends/qt4_compat.py b/lib/matplotlib/backends/qt4_compat.py index 7622ca82f38d..edaa172e28ef 100644 --- a/lib/matplotlib/backends/qt4_compat.py +++ b/lib/matplotlib/backends/qt4_compat.py @@ -60,25 +60,25 @@ try: QtCore.Slot = QtCore.pyqtSlot except AttributeError: - QtCore.Slot = pyqtSignature # Not a perfect match but - # works in simple cases + QtCore.Slot = pyqtSignature # Not a perfect match but + # works in simple cases QtCore.Property = QtCore.pyqtProperty __version__ = QtCore.PYQT_VERSION_STR - try : - if sip.getapi("QString") > 1 : + try: + if sip.getapi("QString") > 1: # Use new getSaveFileNameAndFilter() _get_save = QtGui.QFileDialog.getSaveFileNameAndFilter - else : + else: # Use old getSaveFileName() _getSaveFileName = QtGui.QFileDialog.getSaveFileName - except (AttributeError, KeyError) : + except (AttributeError, KeyError): # call to getapi() can fail in older versions of sip _getSaveFileName = QtGui.QFileDialog.getSaveFileName -else: # can only be pyside +else: # can only be pyside from PySide import QtCore, QtGui, __version__, __version_info__ - if __version_info__ < (1,0,3): + if __version_info__ < (1, 0, 3): raise ImportError( "Matplotlib backend_qt4 and backend_qt4agg require PySide >=1.0.3") @@ -89,4 +89,3 @@ def _getSaveFileName(self, msg, start, filters, selectedFilter): return _get_save(self, msg, start, filters, selectedFilter)[0] - From c03544d275767ff76974f96951f801c7b129dcf3 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Tue, 28 May 2013 09:58:09 -0500 Subject: [PATCH 034/329] minor indentation fix --- lib/matplotlib/backends/backend_qt4.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_qt4.py b/lib/matplotlib/backends/backend_qt4.py index 17322c17407b..e91e142383d7 100644 --- a/lib/matplotlib/backends/backend_qt4.py +++ b/lib/matplotlib/backends/backend_qt4.py @@ -369,7 +369,7 @@ def _get_key(self, event): # in that order) for modifier, prefix, Qt_key in self._modifier_keys: if (event.key() != Qt_key and - int(event.modifiers()) & modifier == modifier): + int(event.modifiers()) & modifier == modifier): key = u'{0}+{1}'.format(prefix, key) return key From 1cb2f388d26e1c15ab603ced929526016c3fdc9e Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Mon, 24 Jun 2013 08:32:29 -0500 Subject: [PATCH 035/329] docstring formatting fix --- lib/matplotlib/backends/backend_qt4.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt4.py b/lib/matplotlib/backends/backend_qt4.py index e91e142383d7..c772ef530899 100644 --- a/lib/matplotlib/backends/backend_qt4.py +++ b/lib/matplotlib/backends/backend_qt4.py @@ -383,9 +383,12 @@ def new_timer(self, *args, **kwargs): optional arguments: - *interval* Timer interval in milliseconds *callbacks* Sequence - of (func, args, kwargs) where func(*args, **kwargs) will be - executed by the timer every *interval*. + *interval* + Timer interval in milliseconds + + *callbacks* + Sequence of (func, args, kwargs) where func(*args, **kwargs) + will be executed by the timer every *interval*. """ return TimerQT(*args, **kwargs) From ad34abfb3e4270058b0492554b065866ea8d230b Mon Sep 17 00:00:00 2001 From: Tor Colvin Date: Mon, 24 Jun 2013 16:30:57 -0400 Subject: [PATCH 036/329] Catch IOError which is thrown by OS X This error comes up easily becuase fc-list is a X11 program, which is missing or misconfigured on OS X. --- lib/matplotlib/font_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 809753a70a3f..e6f001928b60 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -273,7 +273,7 @@ def get_fontconfig_fonts(fontext='ttf'): try: pipe = subprocess.Popen(['fc-list', '', 'file'], stdout=subprocess.PIPE) output = pipe.communicate()[0] - except OSError: + except OSError, IOError: # Calling fc-list did not work, so we'll just return nothing return fontfiles @@ -1296,7 +1296,7 @@ def fc_match(pattern, fontext): try: pipe = subprocess.Popen(['fc-match', '-sv', pattern], stdout=subprocess.PIPE) output = pipe.communicate()[0] - except OSError: + except OSError, IOError: return None if pipe.returncode == 0: for match in _fc_match_regex.finditer(output): From 0f208bbfe3c52dc41f599e8ac4e903e23f450c16 Mon Sep 17 00:00:00 2001 From: Magnus Nord Date: Thu, 27 Jun 2013 17:00:32 +0200 Subject: [PATCH 037/329] Change anchored_artists.AnchoredSizeBar: docstring, vertical size, color - Add size_vertical variable, which sets the height of the size bar. - Add color argument, which change the color of rectangle bar (not the label, need to figure out how to do that). - Docstring: listing the possible arguments and adding an example. --- .../axes_grid1/anchored_artists.py | 39 +++++++++++++++++-- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index 1a077553f3a8..e2578f9d2488 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -65,17 +65,48 @@ def __init__(self, transform, width, height, angle, loc, class AnchoredSizeBar(AnchoredOffsetbox): def __init__(self, transform, size, label, loc, - pad=0.1, borderpad=0.1, sep=2, prop=None, frameon=True, + pad=0.1, borderpad=0.1, sep=2, prop=None, + frameon=True, size_vertical=0, color='black', **kwargs): """ Draw a horizontal bar with the size in data coordinate of the give axes. A label will be drawn underneath (center-aligned). - pad, borderpad in fraction of the legend font size (or prop) - sep in points. + Parameters: + ----------- + transform : matplotlib transformation object + size : int or float + horizontal length of the size bar, given in data coordinates + label : str + loc : int + pad : int or float, optional + in fraction of the legend font size (or prop) + borderpad : int or float, optional + in fraction of the legend font size (or prop) + sep : int or float, optional + in points + frameon : bool, optional + if True, will draw a box around the horizontal bar and label + size_vertical : int or float, optional + vertical length of the size bar, given in data coordinates + color : str, optional + color for the size bar and label + + Example: + -------- + >>>> import matplotlib.pyplot as plt + >>>> import numpy as np + >>>> from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar + >>>> fig, ax = plt.subplots() + >>>> ax = imshow(np.random.random((10,10))) + >>>> bar = AnchoredSizeBar(ax.transData, 3, '3 units', pad=0.5, loc=4, sep=5, borderpad=0.5, frameon=False, size_vertical=0.5, color='white') + >>>> ax.add_artist(bar) + >>>> plt.show() + """ + self.size_bar = AuxTransformBox(transform) - self.size_bar.add_artist(Rectangle((0,0), size, 0, fc="none")) + self.size_bar.add_artist(Rectangle((0,0), size, size_vertical, fill=True, facecolor=color, edgecolor=color)) self.txt_label = TextArea(label, minimumdescent=False) From 929e8234fe988dc963ab89528d4d93592768ea47 Mon Sep 17 00:00:00 2001 From: Magnus Nord Date: Thu, 27 Jun 2013 17:36:07 +0200 Subject: [PATCH 038/329] Change anchored_artists.AnchoredSizeBar: put label over rectangle Add variable label_top to change the position of the label from below the rectangle to over the rectangle --- lib/mpl_toolkits/axes_grid1/anchored_artists.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index e2578f9d2488..ec8f12ddca83 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -67,6 +67,7 @@ class AnchoredSizeBar(AnchoredOffsetbox): def __init__(self, transform, size, label, loc, pad=0.1, borderpad=0.1, sep=2, prop=None, frameon=True, size_vertical=0, color='black', + label_top=False, **kwargs): """ Draw a horizontal bar with the size in data coordinate of the give axes. @@ -91,6 +92,8 @@ def __init__(self, transform, size, label, loc, vertical length of the size bar, given in data coordinates color : str, optional color for the size bar and label + label_top : bool, optional + if true, the label will be over the rectangle Example: -------- @@ -110,7 +113,12 @@ def __init__(self, transform, size, label, loc, self.txt_label = TextArea(label, minimumdescent=False) - self._box = VPacker(children=[self.size_bar, self.txt_label], + if label_top: + _box_children = [self.txt_label, self.size_bar] + else: + _box_children = [self.size_bar, self.txt_label] + + self._box = VPacker(children=_box_children, align="center", pad=0, sep=sep) From 6cd64143dba1a21b63eab59c35f5f32a1c517e02 Mon Sep 17 00:00:00 2001 From: Benjamin Root Date: Fri, 28 Jun 2013 14:15:38 -0400 Subject: [PATCH 039/329] Closes 1752. Patch3DCollection can now be empty. Also improved the Patch3DCollection constructor. --- lib/mpl_toolkits/mplot3d/art3d.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 53ba0fe2e559..8b46c850967f 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -293,8 +293,23 @@ class Patch3DCollection(PatchCollection): ''' def __init__(self, *args, **kwargs): + """ + Create a collection of flat 3D patches with its normal vector + pointed in *zdir* direction, and located at *zs* on the *zdir* + axis. 'zs' can be a scalar or an array-like of the same length as + the number of patches in the collection. + + Constructor arguments are the same as for + :class:`~matplotlib.collections.PatchCollection`. In addition, + keywords *zs=0* and *zdir='z'* are available. + + """ + zs = kwargs.pop('zs', 0) + zdir = kwargs.pop('zdir', 'z') PatchCollection.__init__(self, *args, **kwargs) self._old_draw = lambda x: PatchCollection.draw(self, x) + self.set_3d_properties(zs, zdir) + def set_sort_zpos(self,val): '''Set the position to use for z-sorting.''' @@ -306,11 +321,11 @@ def set_3d_properties(self, zs, zdir): self.update_scalarmappable() offsets = self.get_offsets() if len(offsets) > 0: - xs, ys = zip(*self.get_offsets()) + xs, ys = zip(*offsets) else: - xs = [0] * len(zs) - ys = [0] * len(zs) - self._offsets3d = juggle_axes(xs, ys, zs, zdir) + xs = [] + ys = [] + self._offsets3d = juggle_axes(xs, ys, np.atleast_1d(zs), zdir) self._facecolor3d = self.get_facecolor() self._edgecolor3d = self.get_edgecolor() From aa065444170d6b29d81e4c1d3c1686f16f6e5a1d Mon Sep 17 00:00:00 2001 From: Trevor Bekolay Date: Fri, 28 Jun 2013 13:21:04 -0500 Subject: [PATCH 040/329] Added labels to images in the gallery - Right now it's just the filename of the example - It should perhaps be a string that we define in the example file (like in scikits-image / scikits-learn) --- doc/_static/mpl.css | 15 +++++++++++++++ doc/sphinxext/gen_gallery.py | 8 ++++++-- doc/sphinxext/gen_rst.py | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index bd174f670d49..3c996ccc7b14 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -566,3 +566,18 @@ table.docutils td { width: 30em; } +figure { + margin: 1em; + display: inline-block; +} + +figure img { + margin-left: auto; + margin-right: auto; +} + +figcaption { + text-align: center; +} + + diff --git a/doc/sphinxext/gen_gallery.py b/doc/sphinxext/gen_gallery.py index 1c4c2b56a9a6..4d1a77a3245e 100644 --- a/doc/sphinxext/gen_gallery.py +++ b/doc/sphinxext/gen_gallery.py @@ -41,7 +41,10 @@ """ link_template = """\ -{basename} +
+ {basename}
+
{title}
+
""" toc_template = """\ @@ -122,7 +125,8 @@ def gen_gallery(app, doctree): link = 'examples/%s/%s.html'%(subdir, basename) rows.append(link_template.format(link=link, thumb=thumbfile, - basename=basename)) + basename=basename + title=basename)) if len(data) == 0: warnings.warn("No thumbnails were found in %s" % subdir) diff --git a/doc/sphinxext/gen_rst.py b/doc/sphinxext/gen_rst.py index fecd56b85e42..c7e01585f83e 100644 --- a/doc/sphinxext/gen_rst.py +++ b/doc/sphinxext/gen_rst.py @@ -121,6 +121,7 @@ def generate_example_rst(app): rstfile = '%s.rst'%basename outrstfile = os.path.join(rstdir, rstfile) + # XXX make into title fhsubdirIndex.write(' %s <%s>\n'%(os.path.basename(basename),rstfile)) do_plot = (subdir in example_subdirs From 1bfe338cd4d30c4cc0f08d3163c29137b2f6bb64 Mon Sep 17 00:00:00 2001 From: Carissa Brittain Date: Fri, 28 Jun 2013 18:12:14 -0400 Subject: [PATCH 041/329] Sprint: Added new external resources page, link from main and content pages --- doc/_templates/index.html | 15 +-------------- doc/contents.rst | 1 + doc/resources/index.rst | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 14 deletions(-) create mode 100644 doc/resources/index.rst diff --git a/doc/_templates/index.html b/doc/_templates/index.html index 2768472bc8c8..3dda0900fe7a 100644 --- a/doc/_templates/index.html +++ b/doc/_templates/index.html @@ -124,20 +124,7 @@

Documentation

Other learning resources

- +

Check the external resources page

Need help?

diff --git a/doc/contents.rst b/doc/contents.rst index 9a2a82b53d57..d5c20acd5f01 100644 --- a/doc/contents.rst +++ b/doc/contents.rst @@ -16,6 +16,7 @@ Overview users/index.rst faq/index.rst + resources/index.rst devel/index.rst mpl_toolkits/index.rst api/index.rst diff --git a/doc/resources/index.rst b/doc/resources/index.rst new file mode 100644 index 000000000000..e43ff9f15b09 --- /dev/null +++ b/doc/resources/index.rst @@ -0,0 +1,34 @@ +.. _resources-index: + +******************* + External Resources +******************* + + +=================== + Books and Chapters +=================== + +* `Matplotlib for Python Developers `_ by Sandro Tosi + +* `Matplotlib chapter `_ by John Hunter and Michael Droettboom in The Architecture of Open Source Applications + +* `Graphics with Matplotlib `_ by David J. Raymond + +======= + Videos +======= + +* `Getting started with Matplotlib `_ by `unpingco `_ + +* `Plotting with matplotlib `_ by Mike Müller + +* `Introduction to NumPy and Matplotlib `_ by Eric Jones + +========== + Tutorials +========== + +* `Matplotlib tutorial `_ by Nicolas P. Rougier + + From cdbba2ffaf331f6750150da51dd9a100a4a36caf Mon Sep 17 00:00:00 2001 From: Matt Terry Date: Fri, 28 Jun 2013 17:27:24 -0500 Subject: [PATCH 042/329] forward keyword args though table --- lib/matplotlib/table.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index 7d3a6813dee2..226ce5993d21 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -177,7 +177,7 @@ class Table(Artist): FONTSIZE = 10 AXESPAD = 0.02 # the border between the axes and table edge - def __init__(self, ax, loc=None, bbox=None): + def __init__(self, ax, loc=None, bbox=None, **kwargs): Artist.__init__(self) @@ -201,6 +201,7 @@ def __init__(self, ax, loc=None, bbox=None): self._autoRows = [] self._autoColumns = [] self._autoFontsize = True + self.update(kwargs) self.set_clip_on(False) @@ -453,7 +454,8 @@ def table(ax, cellLoc='right', colWidths=None, rowLabels=None, rowColours=None, rowLoc='left', colLabels=None, colColours=None, colLoc='center', - loc='bottom', bbox=None): + loc='bottom', bbox=None, + **kwargs): """ TABLE(cellText=None, cellColours=None, cellLoc='right', colWidths=None, @@ -517,7 +519,7 @@ def table(ax, cellColours = ['w' * cols] * rows # Now create the table - table = Table(ax, loc, bbox) + table = Table(ax, loc, bbox, **kwargs) height = table._approx_text_height() # Add the cells From 442163b5e876788e713d3c24bebd8ebf369d416b Mon Sep 17 00:00:00 2001 From: Katy Huff Date: Fri, 28 Jun 2013 17:38:08 -0500 Subject: [PATCH 043/329] This commented-out code seems unnecessary. --- lib/matplotlib/rcsetup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 7d54994c1c61..90cbf345e4fd 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -133,7 +133,6 @@ def validate_fonttype(s): return fonttype -#validate_backend = ValidateInStrings('backend', all_backends, ignorecase=True) _validate_standard_backends = ValidateInStrings('backend', all_backends, ignorecase=True) From bee3fcdf7542c92364914d0ec15f880a40d2fab6 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Sat, 29 Jun 2013 10:37:28 -0400 Subject: [PATCH 044/329] On Python 3.3, the __loader__ variable may get set when modules are loaded, so this is ok to override --- lib/matplotlib/tests/test_basic.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/tests/test_basic.py b/lib/matplotlib/tests/test_basic.py index a77ccc87ab3e..415d2de28e6b 100644 --- a/lib/matplotlib/tests/test_basic.py +++ b/lib/matplotlib/tests/test_basic.py @@ -16,6 +16,7 @@ def test_override_builtins(): '__name__', '__doc__', '__package__', + '__loader__', 'any', 'all', 'sum' From 1f0c46cca1567c80174175ffd687442a4aa1043d Mon Sep 17 00:00:00 2001 From: Benjamin Root Date: Sat, 29 Jun 2013 10:54:02 -0400 Subject: [PATCH 045/329] Closes #1079. Allow iterables for Line3DCollection --- lib/mpl_toolkits/mplot3d/art3d.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 53ba0fe2e559..fba8b529c708 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -106,9 +106,11 @@ def set_3d_properties(self, zs=0, zdir='z'): ys = self.get_ydata() try: + # If *zs* is a list or array, then this will fail and + # just proceed to juggle_axes(). zs = float(zs) zs = [zs for x in xs] - except: + except TypeError: pass self._verts3d = juggle_axes(xs, ys, zs, zdir) @@ -170,7 +172,7 @@ def set_segments(self, segments): ''' Set 3D segments ''' - self._segments3d = segments + self._segments3d = np.asanyarray(segments) LineCollection.set_segments(self, []) def do_3d_projection(self, renderer): From b79d5319e4f1f9fe19568da66738fe19a489b2a5 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Sat, 29 Jun 2013 11:01:24 -0400 Subject: [PATCH 046/329] Update the coding guidelines wrt to docstrings and MEP10 --- doc/devel/coding_guide.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/devel/coding_guide.rst b/doc/devel/coding_guide.rst index 7273fb38313d..2df6a8cb636d 100644 --- a/doc/devel/coding_guide.rst +++ b/doc/devel/coding_guide.rst @@ -65,6 +65,17 @@ Documentation * Every new feature should be documented. If it's a new module, don't forget to add it to the API docs. +* Docstrings should be in `numpydoc format + `_. + Don't be thrown off by the fact that many of the existing docstrings + are not in that format. We are working to standardize on + `numpydoc`. + +* Each high-level plotting function should have a simple example in + the `Example` section. This should be as simple as possible to + demonstrate the method. More complex examples should go in the + `examples` tree. + * Build the docs and make sure all formatting warnings are addressed. * See :ref:`documenting-matplotlib` for our documentation style guide. From 9f3acf33b9ec881bf0b4b8ffca23866cc8673378 Mon Sep 17 00:00:00 2001 From: Damon McDougall Date: Sat, 29 Jun 2013 10:06:40 -0500 Subject: [PATCH 047/329] Just a minor comment tweak Documenting where to add titles to figures in the gallery should we choose to do that. --- doc/sphinxext/gen_rst.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/sphinxext/gen_rst.py b/doc/sphinxext/gen_rst.py index c7e01585f83e..42598d2149f7 100644 --- a/doc/sphinxext/gen_rst.py +++ b/doc/sphinxext/gen_rst.py @@ -121,7 +121,9 @@ def generate_example_rst(app): rstfile = '%s.rst'%basename outrstfile = os.path.join(rstdir, rstfile) - # XXX make into title + # XXX: We might consider putting extra metadata in the example + # files to include a title. If so, this line is where we would add + # this information. fhsubdirIndex.write(' %s <%s>\n'%(os.path.basename(basename),rstfile)) do_plot = (subdir in example_subdirs From 5e65bbe580192920226f99e15c77feed9eda944b Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Fri, 28 Jun 2013 22:02:44 +0200 Subject: [PATCH 048/329] Splitted the axes module into smaller chunks --- lib/matplotlib/axes/__init__.py | 3 + lib/matplotlib/{axes.py => axes/_axes.py} | 3345 +-------------------- lib/matplotlib/axes/_base.py | 3130 +++++++++++++++++++ lib/matplotlib/axes/_subplots.py | 209 ++ lib/matplotlib/tests/test_axes.py | 4 +- setupext.py | 1 + 6 files changed, 3364 insertions(+), 3328 deletions(-) create mode 100644 lib/matplotlib/axes/__init__.py rename lib/matplotlib/{axes.py => axes/_axes.py} (65%) create mode 100644 lib/matplotlib/axes/_base.py create mode 100644 lib/matplotlib/axes/_subplots.py diff --git a/lib/matplotlib/axes/__init__.py b/lib/matplotlib/axes/__init__.py new file mode 100644 index 000000000000..ab0a39e72076 --- /dev/null +++ b/lib/matplotlib/axes/__init__.py @@ -0,0 +1,3 @@ +from matplotlib.axes._subplots import * +from matplotlib.axes._axes import * +from matplotlib.axes._axes import _string_to_bool diff --git a/lib/matplotlib/axes.py b/lib/matplotlib/axes/_axes.py similarity index 65% rename from lib/matplotlib/axes.py rename to lib/matplotlib/axes/_axes.py index 8eebb9608148..2937a68697d8 100644 --- a/lib/matplotlib/axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1,7 +1,6 @@ from __future__ import division, print_function import math import warnings -from operator import itemgetter import itertools import numpy as np @@ -11,15 +10,12 @@ rcParams = matplotlib.rcParams import matplotlib.artist as martist -from matplotlib.artist import allow_rasterization -import matplotlib.axis as maxis import matplotlib.cbook as cbook import matplotlib.collections as mcoll import matplotlib.colors as mcolors import matplotlib.contour as mcontour import matplotlib.dates as _ # <-registers a date unit converter from matplotlib import docstring -import matplotlib.font_manager as font_manager import matplotlib.image as mimage import matplotlib.legend as mlegend import matplotlib.lines as mlines @@ -27,7 +23,6 @@ import matplotlib.mlab as mlab import matplotlib.path as mpath import matplotlib.patches as mpatches -import matplotlib.spines as mspines import matplotlib.quiver as mquiver import matplotlib.scale as mscale import matplotlib.stackplot as mstack @@ -38,3121 +33,27 @@ import matplotlib.transforms as mtransforms import matplotlib.tri as mtri from matplotlib.container import BarContainer, ErrorbarContainer, StemContainer +from matplotlib.axes._base import _AxesBase, _string_to_bool iterable = cbook.iterable is_string_like = cbook.is_string_like is_sequence_of_strings = cbook.is_sequence_of_strings -def _string_to_bool(s): - if not is_string_like(s): - return s - if s == 'on': - return True - if s == 'off': - return False - raise ValueError("string argument must be either 'on' or 'off'") - - -def _process_plot_format(fmt): - """ - Process a MATLAB style color/line style format string. Return a - (*linestyle*, *color*) tuple as a result of the processing. Default - values are ('-', 'b'). Example format strings include: - - * 'ko': black circles - * '.b': blue dots - * 'r--': red dashed lines - - .. seealso:: - - :func:`~matplotlib.Line2D.lineStyles` and - :func:`~matplotlib.pyplot.colors` - for all possible styles and color format string. - """ - - linestyle = None - marker = None - color = None - - # Is fmt just a colorspec? - try: - color = mcolors.colorConverter.to_rgb(fmt) - - # We need to differentiate grayscale '1.0' from tri_down marker '1' - try: - fmtint = str(int(fmt)) - except ValueError: - return linestyle, marker, color # Yes - else: - if fmt != fmtint: - # user definitely doesn't want tri_down marker - return linestyle, marker, color # Yes - else: - # ignore converted color - color = None - except ValueError: - pass # No, not just a color. - - # handle the multi char special cases and strip them from the - # string - if fmt.find('--') >= 0: - linestyle = '--' - fmt = fmt.replace('--', '') - if fmt.find('-.') >= 0: - linestyle = '-.' - fmt = fmt.replace('-.', '') - if fmt.find(' ') >= 0: - linestyle = 'None' - fmt = fmt.replace(' ', '') - - chars = [c for c in fmt] - - for c in chars: - if c in mlines.lineStyles: - if linestyle is not None: - raise ValueError( - 'Illegal format string "%s"; two linestyle symbols' % fmt) - linestyle = c - elif c in mlines.lineMarkers: - if marker is not None: - raise ValueError( - 'Illegal format string "%s"; two marker symbols' % fmt) - marker = c - elif c in mcolors.colorConverter.colors: - if color is not None: - raise ValueError( - 'Illegal format string "%s"; two color symbols' % fmt) - color = c - else: - raise ValueError( - 'Unrecognized character %c in format string' % c) - - if linestyle is None and marker is None: - linestyle = rcParams['lines.linestyle'] - if linestyle is None: - linestyle = 'None' - if marker is None: - marker = 'None' - - return linestyle, marker, color - - -class _process_plot_var_args(object): - """ - Process variable length arguments to the plot command, so that - plot commands like the following are supported:: - - plot(t, s) - plot(t1, s1, t2, s2) - plot(t1, s1, 'ko', t2, s2) - plot(t1, s1, 'ko', t2, s2, 'r--', t3, e3) - - an arbitrary number of *x*, *y*, *fmt* are allowed - """ - def __init__(self, axes, command='plot'): - self.axes = axes - self.command = command - self.set_color_cycle() - - def __getstate__(self): - # note: it is not possible to pickle a itertools.cycle instance - return {'axes': self.axes, 'command': self.command} - - def __setstate__(self, state): - self.__dict__ = state.copy() - self.set_color_cycle() - - def set_color_cycle(self, clist=None): - if clist is None: - clist = rcParams['axes.color_cycle'] - self.color_cycle = itertools.cycle(clist) - - def __call__(self, *args, **kwargs): - - if self.axes.xaxis is not None and self.axes.yaxis is not None: - xunits = kwargs.pop('xunits', self.axes.xaxis.units) - - if self.axes.name == 'polar': - xunits = kwargs.pop('thetaunits', xunits) - - yunits = kwargs.pop('yunits', self.axes.yaxis.units) - - if self.axes.name == 'polar': - yunits = kwargs.pop('runits', yunits) - - if xunits != self.axes.xaxis.units: - self.axes.xaxis.set_units(xunits) - - if yunits != self.axes.yaxis.units: - self.axes.yaxis.set_units(yunits) - - ret = self._grab_next_args(*args, **kwargs) - return ret - - def set_lineprops(self, line, **kwargs): - assert self.command == 'plot', 'set_lineprops only works with "plot"' - for key, val in kwargs.items(): - funcName = "set_%s" % key - if not hasattr(line, funcName): - raise TypeError('There is no line property "%s"' % key) - func = getattr(line, funcName) - func(val) - - def set_patchprops(self, fill_poly, **kwargs): - assert self.command == 'fill', 'set_patchprops only works with "fill"' - for key, val in kwargs.items(): - funcName = "set_%s" % key - if not hasattr(fill_poly, funcName): - raise TypeError('There is no patch property "%s"' % key) - func = getattr(fill_poly, funcName) - func(val) - - def _xy_from_xy(self, x, y): - if self.axes.xaxis is not None and self.axes.yaxis is not None: - bx = self.axes.xaxis.update_units(x) - by = self.axes.yaxis.update_units(y) - - if self.command != 'plot': - # the Line2D class can handle unitized data, with - # support for post hoc unit changes etc. Other mpl - # artists, eg Polygon which _process_plot_var_args - # also serves on calls to fill, cannot. So this is a - # hack to say: if you are not "plot", which is - # creating Line2D, then convert the data now to - # floats. If you are plot, pass the raw data through - # to Line2D which will handle the conversion. So - # polygons will not support post hoc conversions of - # the unit type since they are not storing the orig - # data. Hopefully we can rationalize this at a later - # date - JDH - if bx: - x = self.axes.convert_xunits(x) - if by: - y = self.axes.convert_yunits(y) - - x = np.atleast_1d(x) # like asanyarray, but converts scalar to array - y = np.atleast_1d(y) - if x.shape[0] != y.shape[0]: - raise ValueError("x and y must have same first dimension") - if x.ndim > 2 or y.ndim > 2: - raise ValueError("x and y can be no greater than 2-D") - - if x.ndim == 1: - x = x[:, np.newaxis] - if y.ndim == 1: - y = y[:, np.newaxis] - return x, y - - def _makeline(self, x, y, kw, kwargs): - kw = kw.copy() # Don't modify the original kw. - if not 'color' in kw and not 'color' in kwargs.keys(): - kw['color'] = self.color_cycle.next() - # (can't use setdefault because it always evaluates - # its second argument) - seg = mlines.Line2D(x, y, - axes=self.axes, - **kw - ) - self.set_lineprops(seg, **kwargs) - return seg - - def _makefill(self, x, y, kw, kwargs): - try: - facecolor = kw['color'] - except KeyError: - facecolor = self.color_cycle.next() - seg = mpatches.Polygon(np.hstack((x[:, np.newaxis], - y[:, np.newaxis])), - facecolor=facecolor, - fill=True, - closed=kw['closed']) - self.set_patchprops(seg, **kwargs) - return seg - - def _plot_args(self, tup, kwargs): - ret = [] - if len(tup) > 1 and is_string_like(tup[-1]): - linestyle, marker, color = _process_plot_format(tup[-1]) - tup = tup[:-1] - elif len(tup) == 3: - raise ValueError('third arg must be a format string') - else: - linestyle, marker, color = None, None, None - kw = {} - for k, v in zip(('linestyle', 'marker', 'color'), - (linestyle, marker, color)): - if v is not None: - kw[k] = v - - y = np.atleast_1d(tup[-1]) - - if len(tup) == 2: - x = np.atleast_1d(tup[0]) - else: - x = np.arange(y.shape[0], dtype=float) - - x, y = self._xy_from_xy(x, y) - - if self.command == 'plot': - func = self._makeline - else: - kw['closed'] = kwargs.get('closed', True) - func = self._makefill - - ncx, ncy = x.shape[1], y.shape[1] - for j in xrange(max(ncx, ncy)): - seg = func(x[:, j % ncx], y[:, j % ncy], kw, kwargs) - ret.append(seg) - return ret - - def _grab_next_args(self, *args, **kwargs): - - remaining = args - while 1: - - if len(remaining) == 0: - return - if len(remaining) <= 3: - for seg in self._plot_args(remaining, kwargs): - yield seg - return - - if is_string_like(remaining[2]): - isplit = 3 - else: - isplit = 2 - - for seg in self._plot_args(remaining[:isplit], kwargs): - yield seg - remaining = remaining[isplit:] - - -class Axes(martist.Artist): - """ - The :class:`Axes` contains most of the figure elements: - :class:`~matplotlib.axis.Axis`, :class:`~matplotlib.axis.Tick`, - :class:`~matplotlib.lines.Line2D`, :class:`~matplotlib.text.Text`, - :class:`~matplotlib.patches.Polygon`, etc., and sets the - coordinate system. - - The :class:`Axes` instance supports callbacks through a callbacks - attribute which is a :class:`~matplotlib.cbook.CallbackRegistry` - instance. The events you can connect to are 'xlim_changed' and - 'ylim_changed' and the callback will be called with func(*ax*) - where *ax* is the :class:`Axes` instance. - """ - name = "rectilinear" - - _shared_x_axes = cbook.Grouper() - _shared_y_axes = cbook.Grouper() - - def __str__(self): - return "Axes(%g,%g;%gx%g)" % tuple(self._position.bounds) - - def __init__(self, fig, rect, - axisbg=None, # defaults to rc axes.facecolor - frameon=True, - sharex=None, # use Axes instance's xaxis info - sharey=None, # use Axes instance's yaxis info - label='', - xscale=None, - yscale=None, - **kwargs - ): - """ - Build an :class:`Axes` instance in - :class:`~matplotlib.figure.Figure` *fig* with - *rect=[left, bottom, width, height]* in - :class:`~matplotlib.figure.Figure` coordinates - - Optional keyword arguments: - - ================ ========================================= - Keyword Description - ================ ========================================= - *adjustable* [ 'box' | 'datalim' | 'box-forced'] - *alpha* float: the alpha transparency (can be None) - *anchor* [ 'C', 'SW', 'S', 'SE', 'E', 'NE', 'N', - 'NW', 'W' ] - *aspect* [ 'auto' | 'equal' | aspect_ratio ] - *autoscale_on* [ *True* | *False* ] whether or not to - autoscale the *viewlim* - *axis_bgcolor* any matplotlib color, see - :func:`~matplotlib.pyplot.colors` - *axisbelow* draw the grids and ticks below the other - artists - *cursor_props* a (*float*, *color*) tuple - *figure* a :class:`~matplotlib.figure.Figure` - instance - *frame_on* a boolean - draw the axes frame - *label* the axes label - *navigate* [ *True* | *False* ] - *navigate_mode* [ 'PAN' | 'ZOOM' | None ] the navigation - toolbar button status - *position* [left, bottom, width, height] in - class:`~matplotlib.figure.Figure` coords - *sharex* an class:`~matplotlib.axes.Axes` instance - to share the x-axis with - *sharey* an class:`~matplotlib.axes.Axes` instance - to share the y-axis with - *title* the title string - *visible* [ *True* | *False* ] whether the axes is - visible - *xlabel* the xlabel - *xlim* (*xmin*, *xmax*) view limits - *xscale* [%(scale)s] - *xticklabels* sequence of strings - *xticks* sequence of floats - *ylabel* the ylabel strings - *ylim* (*ymin*, *ymax*) view limits - *yscale* [%(scale)s] - *yticklabels* sequence of strings - *yticks* sequence of floats - ================ ========================================= - """ % {'scale': ' | '.join( - [repr(x) for x in mscale.get_scale_names()])} - martist.Artist.__init__(self) - if isinstance(rect, mtransforms.Bbox): - self._position = rect - else: - self._position = mtransforms.Bbox.from_bounds(*rect) - self._originalPosition = self._position.frozen() - self.set_axes(self) - self.set_aspect('auto') - self._adjustable = 'box' - self.set_anchor('C') - self._sharex = sharex - self._sharey = sharey - if sharex is not None: - self._shared_x_axes.join(self, sharex) - if sharex._adjustable == 'box': - sharex._adjustable = 'datalim' - #warnings.warn( - # 'shared axes: "adjustable" is being changed to "datalim"') - self._adjustable = 'datalim' - if sharey is not None: - self._shared_y_axes.join(self, sharey) - if sharey._adjustable == 'box': - sharey._adjustable = 'datalim' - #warnings.warn( - # 'shared axes: "adjustable" is being changed to "datalim"') - self._adjustable = 'datalim' - self.set_label(label) - self.set_figure(fig) - - self.set_axes_locator(kwargs.get("axes_locator", None)) - - self.spines = self._gen_axes_spines() - - # this call may differ for non-sep axes, eg polar - self._init_axis() - - if axisbg is None: - axisbg = rcParams['axes.facecolor'] - self._axisbg = axisbg - self._frameon = frameon - self._axisbelow = rcParams['axes.axisbelow'] - - self._rasterization_zorder = None - - self._hold = rcParams['axes.hold'] - self._connected = {} # a dict from events to (id, func) - self.cla() - # funcs used to format x and y - fall back on major formatters - self.fmt_xdata = None - self.fmt_ydata = None - - self.set_cursor_props((1, 'k')) # set the cursor properties for axes - - self._cachedRenderer = None - self.set_navigate(True) - self.set_navigate_mode(None) - - if xscale: - self.set_xscale(xscale) - if yscale: - self.set_yscale(yscale) - - if len(kwargs): - martist.setp(self, **kwargs) - - if self.xaxis is not None: - self._xcid = self.xaxis.callbacks.connect('units finalize', - self.relim) - - if self.yaxis is not None: - self._ycid = self.yaxis.callbacks.connect('units finalize', - self.relim) - - def __setstate__(self, state): - self.__dict__ = state - # put the _remove_method back on all artists contained within the axes - for container_name in ['lines', 'collections', 'tables', 'patches', - 'texts', 'images']: - container = getattr(self, container_name) - for artist in container: - artist._remove_method = container.remove - - def get_window_extent(self, *args, **kwargs): - """ - get the axes bounding box in display space; *args* and - *kwargs* are empty - """ - return self.bbox - - def _init_axis(self): - "move this out of __init__ because non-separable axes don't use it" - self.xaxis = maxis.XAxis(self) - self.spines['bottom'].register_axis(self.xaxis) - self.spines['top'].register_axis(self.xaxis) - self.yaxis = maxis.YAxis(self) - self.spines['left'].register_axis(self.yaxis) - self.spines['right'].register_axis(self.yaxis) - self._update_transScale() - - def set_figure(self, fig): - """ - Set the class:`~matplotlib.axes.Axes` figure - - accepts a class:`~matplotlib.figure.Figure` instance - """ - martist.Artist.set_figure(self, fig) - - self.bbox = mtransforms.TransformedBbox(self._position, - fig.transFigure) - # these will be updated later as data is added - self.dataLim = mtransforms.Bbox.null() - self.viewLim = mtransforms.Bbox.unit() - self.transScale = mtransforms.TransformWrapper( - mtransforms.IdentityTransform()) - - self._set_lim_and_transforms() - - def _set_lim_and_transforms(self): - """ - set the *dataLim* and *viewLim* - :class:`~matplotlib.transforms.Bbox` attributes and the - *transScale*, *transData*, *transLimits* and *transAxes* - transformations. - - .. note:: - - This method is primarily used by rectilinear projections - of the :class:`~matplotlib.axes.Axes` class, and is meant - to be overridden by new kinds of projection axes that need - different transformations and limits. (See - :class:`~matplotlib.projections.polar.PolarAxes` for an - example. - - """ - self.transAxes = mtransforms.BboxTransformTo(self.bbox) - - # Transforms the x and y axis separately by a scale factor. - # It is assumed that this part will have non-linear components - # (e.g., for a log scale). - self.transScale = mtransforms.TransformWrapper( - mtransforms.IdentityTransform()) - - # An affine transformation on the data, generally to limit the - # range of the axes - self.transLimits = mtransforms.BboxTransformFrom( - mtransforms.TransformedBbox(self.viewLim, self.transScale)) - - # The parentheses are important for efficiency here -- they - # group the last two (which are usually affines) separately - # from the first (which, with log-scaling can be non-affine). - self.transData = self.transScale + (self.transLimits + self.transAxes) - - self._xaxis_transform = mtransforms.blended_transform_factory( - self.transData, self.transAxes) - self._yaxis_transform = mtransforms.blended_transform_factory( - self.transAxes, self.transData) - - def get_xaxis_transform(self, which='grid'): - """ - Get the transformation used for drawing x-axis labels, ticks - and gridlines. The x-direction is in data coordinates and the - y-direction is in axis coordinates. - - .. note:: - - This transformation is primarily used by the - :class:`~matplotlib.axis.Axis` class, and is meant to be - overridden by new kinds of projections that may need to - place axis elements in different locations. - - """ - if which == 'grid': - return self._xaxis_transform - elif which == 'tick1': - # for cartesian projection, this is bottom spine - return self.spines['bottom'].get_spine_transform() - elif which == 'tick2': - # for cartesian projection, this is top spine - return self.spines['top'].get_spine_transform() - else: - raise ValueError('unknown value for which') - - def get_xaxis_text1_transform(self, pad_points): - """ - Get the transformation used for drawing x-axis labels, which - will add the given amount of padding (in points) between the - axes and the label. The x-direction is in data coordinates - and the y-direction is in axis coordinates. Returns a - 3-tuple of the form:: - - (transform, valign, halign) - - where *valign* and *halign* are requested alignments for the - text. - - .. note:: - - This transformation is primarily used by the - :class:`~matplotlib.axis.Axis` class, and is meant to be - overridden by new kinds of projections that may need to - place axis elements in different locations. - - """ - return (self.get_xaxis_transform(which='tick1') + - mtransforms.ScaledTranslation(0, -1 * pad_points / 72.0, - self.figure.dpi_scale_trans), - "top", "center") - - def get_xaxis_text2_transform(self, pad_points): - """ - Get the transformation used for drawing the secondary x-axis - labels, which will add the given amount of padding (in points) - between the axes and the label. The x-direction is in data - coordinates and the y-direction is in axis coordinates. - Returns a 3-tuple of the form:: - - (transform, valign, halign) - - where *valign* and *halign* are requested alignments for the - text. - - .. note:: - - This transformation is primarily used by the - :class:`~matplotlib.axis.Axis` class, and is meant to be - overridden by new kinds of projections that may need to - place axis elements in different locations. - - """ - return (self.get_xaxis_transform(which='tick2') + - mtransforms.ScaledTranslation(0, pad_points / 72.0, - self.figure.dpi_scale_trans), - "bottom", "center") - - def get_yaxis_transform(self, which='grid'): - """ - Get the transformation used for drawing y-axis labels, ticks - and gridlines. The x-direction is in axis coordinates and the - y-direction is in data coordinates. - - .. note:: - - This transformation is primarily used by the - :class:`~matplotlib.axis.Axis` class, and is meant to be - overridden by new kinds of projections that may need to - place axis elements in different locations. - - """ - if which == 'grid': - return self._yaxis_transform - elif which == 'tick1': - # for cartesian projection, this is bottom spine - return self.spines['left'].get_spine_transform() - elif which == 'tick2': - # for cartesian projection, this is top spine - return self.spines['right'].get_spine_transform() - else: - raise ValueError('unknown value for which') - - def get_yaxis_text1_transform(self, pad_points): - """ - Get the transformation used for drawing y-axis labels, which - will add the given amount of padding (in points) between the - axes and the label. The x-direction is in axis coordinates - and the y-direction is in data coordinates. Returns a 3-tuple - of the form:: - - (transform, valign, halign) - - where *valign* and *halign* are requested alignments for the - text. - - .. note:: - - This transformation is primarily used by the - :class:`~matplotlib.axis.Axis` class, and is meant to be - overridden by new kinds of projections that may need to - place axis elements in different locations. - - """ - return (self.get_yaxis_transform(which='tick1') + - mtransforms.ScaledTranslation(-1 * pad_points / 72.0, 0, - self.figure.dpi_scale_trans), - "center", "right") - - def get_yaxis_text2_transform(self, pad_points): - """ - Get the transformation used for drawing the secondary y-axis - labels, which will add the given amount of padding (in points) - between the axes and the label. The x-direction is in axis - coordinates and the y-direction is in data coordinates. - Returns a 3-tuple of the form:: - - (transform, valign, halign) - - where *valign* and *halign* are requested alignments for the - text. - - .. note:: - - This transformation is primarily used by the - :class:`~matplotlib.axis.Axis` class, and is meant to be - overridden by new kinds of projections that may need to - place axis elements in different locations. - - """ - return (self.get_yaxis_transform(which='tick2') + - mtransforms.ScaledTranslation(pad_points / 72.0, 0, - self.figure.dpi_scale_trans), - "center", "left") - - def _update_transScale(self): - self.transScale.set( - mtransforms.blended_transform_factory( - self.xaxis.get_transform(), self.yaxis.get_transform())) - if hasattr(self, "lines"): - for line in self.lines: - try: - line._transformed_path.invalidate() - except AttributeError: - pass - - def get_position(self, original=False): - 'Return the a copy of the axes rectangle as a Bbox' - if original: - return self._originalPosition.frozen() - else: - return self._position.frozen() - - def set_position(self, pos, which='both'): - """ - Set the axes position with:: - - pos = [left, bottom, width, height] - - in relative 0,1 coords, or *pos* can be a - :class:`~matplotlib.transforms.Bbox` - - There are two position variables: one which is ultimately - used, but which may be modified by :meth:`apply_aspect`, and a - second which is the starting point for :meth:`apply_aspect`. - - - Optional keyword arguments: - *which* - - ========== ==================== - value description - ========== ==================== - 'active' to change the first - 'original' to change the second - 'both' to change both - ========== ==================== - - """ - if not isinstance(pos, mtransforms.BboxBase): - pos = mtransforms.Bbox.from_bounds(*pos) - if which in ('both', 'active'): - self._position.set(pos) - if which in ('both', 'original'): - self._originalPosition.set(pos) - - def reset_position(self): - """Make the original position the active position""" - pos = self.get_position(original=True) - self.set_position(pos, which='active') - - def set_axes_locator(self, locator): - """ - set axes_locator - - ACCEPT: a callable object which takes an axes instance and renderer and - returns a bbox. - """ - self._axes_locator = locator - - def get_axes_locator(self): - """ - return axes_locator - """ - return self._axes_locator - - def _set_artist_props(self, a): - """set the boilerplate props for artists added to axes""" - a.set_figure(self.figure) - if not a.is_transform_set(): - a.set_transform(self.transData) - - a.set_axes(self) - - def _gen_axes_patch(self): - """ - Returns the patch used to draw the background of the axes. It - is also used as the clipping path for any data elements on the - axes. - - In the standard axes, this is a rectangle, but in other - projections it may not be. - - .. note:: - - Intended to be overridden by new projection types. - - """ - return mpatches.Rectangle((0.0, 0.0), 1.0, 1.0) - - def _gen_axes_spines(self, locations=None, offset=0.0, units='inches'): - """ - Returns a dict whose keys are spine names and values are - Line2D or Patch instances. Each element is used to draw a - spine of the axes. - - In the standard axes, this is a single line segment, but in - other projections it may not be. - - .. note:: - - Intended to be overridden by new projection types. - - """ - return { - 'left': mspines.Spine.linear_spine(self, 'left'), - 'right': mspines.Spine.linear_spine(self, 'right'), - 'bottom': mspines.Spine.linear_spine(self, 'bottom'), - 'top': mspines.Spine.linear_spine(self, 'top'), } - - def cla(self): - """Clear the current axes.""" - # Note: this is called by Axes.__init__() - self.xaxis.cla() - self.yaxis.cla() - for name, spine in self.spines.iteritems(): - spine.cla() - - self.ignore_existing_data_limits = True - self.callbacks = cbook.CallbackRegistry() - - if self._sharex is not None: - # major and minor are class instances with - # locator and formatter attributes - self.xaxis.major = self._sharex.xaxis.major - self.xaxis.minor = self._sharex.xaxis.minor - x0, x1 = self._sharex.get_xlim() - self.set_xlim(x0, x1, emit=False, auto=None) - - # Save the current formatter/locator so we don't lose it - majf = self._sharex.xaxis.get_major_formatter() - minf = self._sharex.xaxis.get_minor_formatter() - majl = self._sharex.xaxis.get_major_locator() - minl = self._sharex.xaxis.get_minor_locator() - - # This overwrites the current formatter/locator - self.xaxis._set_scale(self._sharex.xaxis.get_scale()) - - # Reset the formatter/locator - self.xaxis.set_major_formatter(majf) - self.xaxis.set_minor_formatter(minf) - self.xaxis.set_major_locator(majl) - self.xaxis.set_minor_locator(minl) - else: - self.xaxis._set_scale('linear') - - if self._sharey is not None: - self.yaxis.major = self._sharey.yaxis.major - self.yaxis.minor = self._sharey.yaxis.minor - y0, y1 = self._sharey.get_ylim() - self.set_ylim(y0, y1, emit=False, auto=None) - - # Save the current formatter/locator so we don't lose it - majf = self._sharey.yaxis.get_major_formatter() - minf = self._sharey.yaxis.get_minor_formatter() - majl = self._sharey.yaxis.get_major_locator() - minl = self._sharey.yaxis.get_minor_locator() - - # This overwrites the current formatter/locator - self.yaxis._set_scale(self._sharey.yaxis.get_scale()) - - # Reset the formatter/locator - self.yaxis.set_major_formatter(majf) - self.yaxis.set_minor_formatter(minf) - self.yaxis.set_major_locator(majl) - self.yaxis.set_minor_locator(minl) - else: - self.yaxis._set_scale('linear') - - self._autoscaleXon = True - self._autoscaleYon = True - self._xmargin = rcParams['axes.xmargin'] - self._ymargin = rcParams['axes.ymargin'] - self._tight = False - self._update_transScale() # needed? - - self._get_lines = _process_plot_var_args(self) - self._get_patches_for_fill = _process_plot_var_args(self, 'fill') - - self._gridOn = rcParams['axes.grid'] - self.lines = [] - self.patches = [] - self.texts = [] - self.tables = [] - self.artists = [] - self.images = [] - self._current_image = None # strictly for pyplot via _sci, _gci - self.legend_ = None - self.collections = [] # collection.Collection instances - self.containers = [] - - self.grid(self._gridOn) - props = font_manager.FontProperties(size=rcParams['axes.titlesize']) - - self.titleOffsetTrans = mtransforms.ScaledTranslation( - 0.0, 5.0 / 72.0, self.figure.dpi_scale_trans) - self.title = mtext.Text( - x=0.5, y=1.0, text='', - fontproperties=props, - verticalalignment='baseline', - horizontalalignment='center', - ) - self._left_title = mtext.Text( - x=0.0, y=1.0, text='', - fontproperties=props, - verticalalignment='baseline', - horizontalalignment='left', ) - self._right_title = mtext.Text( - x=1.0, y=1.0, text='', - fontproperties=props, - verticalalignment='baseline', - horizontalalignment='right', - ) - - for _title in (self.title, self._left_title, self._right_title): - _title.set_transform(self.transAxes + self.titleOffsetTrans) - _title.set_clip_box(None) - self._set_artist_props(_title) - - # the patch draws the background of the axes. we want this to - # be below the other artists; the axesPatch name is - # deprecated. We use the frame to draw the edges so we are - # setting the edgecolor to None - self.patch = self.axesPatch = self._gen_axes_patch() - self.patch.set_figure(self.figure) - self.patch.set_facecolor(self._axisbg) - self.patch.set_edgecolor('None') - self.patch.set_linewidth(0) - self.patch.set_transform(self.transAxes) - - self.axison = True - - self.xaxis.set_clip_path(self.patch) - self.yaxis.set_clip_path(self.patch) - - self._shared_x_axes.clean() - self._shared_y_axes.clean() - - def clear(self): - """clear the axes""" - self.cla() - - def set_color_cycle(self, clist): - """ - Set the color cycle for any future plot commands on this Axes. - - *clist* is a list of mpl color specifiers. - """ - self._get_lines.set_color_cycle(clist) - self._get_patches_for_fill.set_color_cycle(clist) - - def ishold(self): - """return the HOLD status of the axes""" - return self._hold - - def hold(self, b=None): - """ - Call signature:: - - hold(b=None) - - Set the hold state. If *hold* is *None* (default), toggle the - *hold* state. Else set the *hold* state to boolean value *b*. - - Examples:: - - # toggle hold - hold() - - # turn hold on - hold(True) - - # turn hold off - hold(False) - - When hold is *True*, subsequent plot commands will be added to - the current axes. When hold is *False*, the current axes and - figure will be cleared on the next plot command - - """ - if b is None: - self._hold = not self._hold - else: - self._hold = b - - def get_aspect(self): - return self._aspect - - def set_aspect(self, aspect, adjustable=None, anchor=None): - """ - *aspect* - - ======== ================================================ - value description - ======== ================================================ - 'auto' automatic; fill position rectangle with data - 'normal' same as 'auto'; deprecated - 'equal' same scaling from data to plot units for x and y - num a circle will be stretched such that the height - is num times the width. aspect=1 is the same as - aspect='equal'. - ======== ================================================ - - *adjustable* - - ============ ===================================== - value description - ============ ===================================== - 'box' change physical size of axes - 'datalim' change xlim or ylim - 'box-forced' same as 'box', but axes can be shared - ============ ===================================== - - 'box' does not allow axes sharing, as this can cause - unintended side effect. For cases when sharing axes is - fine, use 'box-forced'. - - *anchor* - - ===== ===================== - value description - ===== ===================== - 'C' centered - 'SW' lower left corner - 'S' middle of bottom edge - 'SE' lower right corner - etc. - ===== ===================== - - .. deprecated:: 1.2 - the option 'normal' for aspect is deprecated. Use 'auto' instead. - """ - if aspect == 'normal': - cbook.warn_deprecated( - '1.2', name='normal', alternative='auto', obj_type='aspect') - self._aspect = 'auto' - - elif aspect in ('equal', 'auto'): - self._aspect = aspect - else: - self._aspect = float(aspect) # raise ValueError if necessary - - if adjustable is not None: - self.set_adjustable(adjustable) - if anchor is not None: - self.set_anchor(anchor) - - def get_adjustable(self): - return self._adjustable - - def set_adjustable(self, adjustable): - """ - ACCEPTS: [ 'box' | 'datalim' | 'box-forced'] - """ - if adjustable in ('box', 'datalim', 'box-forced'): - if self in self._shared_x_axes or self in self._shared_y_axes: - if adjustable == 'box': - raise ValueError( - 'adjustable must be "datalim" for shared axes') - self._adjustable = adjustable - else: - raise ValueError('argument must be "box", or "datalim"') - - def get_anchor(self): - return self._anchor - - def set_anchor(self, anchor): - """ - *anchor* - - ===== ============ - value description - ===== ============ - 'C' Center - 'SW' bottom left - 'S' bottom - 'SE' bottom right - 'E' right - 'NE' top right - 'N' top - 'NW' top left - 'W' left - ===== ============ - - """ - if anchor in mtransforms.Bbox.coefs.keys() or len(anchor) == 2: - self._anchor = anchor - else: - raise ValueError('argument must be among %s' % - ', '.join(mtransforms.Bbox.coefs.keys())) - - def get_data_ratio(self): - """ - Returns the aspect ratio of the raw data. - - This method is intended to be overridden by new projection - types. - """ - xmin, xmax = self.get_xbound() - ymin, ymax = self.get_ybound() - - xsize = max(math.fabs(xmax - xmin), 1e-30) - ysize = max(math.fabs(ymax - ymin), 1e-30) - - return ysize / xsize - - def get_data_ratio_log(self): - """ - Returns the aspect ratio of the raw data in log scale. - Will be used when both axis scales are in log. - """ - xmin, xmax = self.get_xbound() - ymin, ymax = self.get_ybound() - - xsize = max(math.fabs(math.log10(xmax) - math.log10(xmin)), 1e-30) - ysize = max(math.fabs(math.log10(ymax) - math.log10(ymin)), 1e-30) - - return ysize / xsize - - def apply_aspect(self, position=None): - """ - Use :meth:`_aspect` and :meth:`_adjustable` to modify the - axes box or the view limits. - """ - if position is None: - position = self.get_position(original=True) - - aspect = self.get_aspect() - - if self.name != 'polar': - xscale, yscale = self.get_xscale(), self.get_yscale() - if xscale == "linear" and yscale == "linear": - aspect_scale_mode = "linear" - elif xscale == "log" and yscale == "log": - aspect_scale_mode = "log" - elif ((xscale == "linear" and yscale == "log") or - (xscale == "log" and yscale == "linear")): - if aspect is not "auto": - warnings.warn( - 'aspect is not supported for Axes with xscale=%s, ' - 'yscale=%s' % (xscale, yscale)) - aspect = "auto" - else: # some custom projections have their own scales. - pass - else: - aspect_scale_mode = "linear" - - if aspect == 'auto': - self.set_position(position, which='active') - return - - if aspect == 'equal': - A = 1 - else: - A = aspect - - #Ensure at drawing time that any Axes involved in axis-sharing - # does not have its position changed. - if self in self._shared_x_axes or self in self._shared_y_axes: - if self._adjustable == 'box': - self._adjustable = 'datalim' - warnings.warn( - 'shared axes: "adjustable" is being changed to "datalim"') - - figW, figH = self.get_figure().get_size_inches() - fig_aspect = figH / figW - if self._adjustable in ['box', 'box-forced']: - if aspect_scale_mode == "log": - box_aspect = A * self.get_data_ratio_log() - else: - box_aspect = A * self.get_data_ratio() - pb = position.frozen() - pb1 = pb.shrunk_to_aspect(box_aspect, pb, fig_aspect) - self.set_position(pb1.anchored(self.get_anchor(), pb), 'active') - return - - # reset active to original in case it had been changed - # by prior use of 'box' - self.set_position(position, which='active') - - xmin, xmax = self.get_xbound() - ymin, ymax = self.get_ybound() - - if aspect_scale_mode == "log": - xmin, xmax = math.log10(xmin), math.log10(xmax) - ymin, ymax = math.log10(ymin), math.log10(ymax) - - xsize = max(math.fabs(xmax - xmin), 1e-30) - ysize = max(math.fabs(ymax - ymin), 1e-30) - - l, b, w, h = position.bounds - box_aspect = fig_aspect * (h / w) - data_ratio = box_aspect / A - - y_expander = (data_ratio * xsize / ysize - 1.0) - #print 'y_expander', y_expander - # If y_expander > 0, the dy/dx viewLim ratio needs to increase - if abs(y_expander) < 0.005: - #print 'good enough already' - return - - if aspect_scale_mode == "log": - dL = self.dataLim - dL_width = math.log10(dL.x1) - math.log10(dL.x0) - dL_height = math.log10(dL.y1) - math.log10(dL.y0) - xr = 1.05 * dL_width - yr = 1.05 * dL_height - else: - dL = self.dataLim - xr = 1.05 * dL.width - yr = 1.05 * dL.height - - xmarg = xsize - xr - ymarg = ysize - yr - Ysize = data_ratio * xsize - Xsize = ysize / data_ratio - Xmarg = Xsize - xr - Ymarg = Ysize - yr - xm = 0 # Setting these targets to, e.g., 0.05*xr does not seem to - # help. - ym = 0 - #print 'xmin, xmax, ymin, ymax', xmin, xmax, ymin, ymax - #print 'xsize, Xsize, ysize, Ysize', xsize, Xsize, ysize, Ysize - - changex = (self in self._shared_y_axes - and self not in self._shared_x_axes) - changey = (self in self._shared_x_axes - and self not in self._shared_y_axes) - if changex and changey: - warnings.warn("adjustable='datalim' cannot work with shared " - "x and y axes") - return - if changex: - adjust_y = False - else: - #print 'xmarg, ymarg, Xmarg, Ymarg', xmarg, ymarg, Xmarg, Ymarg - if xmarg > xm and ymarg > ym: - adjy = ((Ymarg > 0 and y_expander < 0) - or (Xmarg < 0 and y_expander > 0)) - else: - adjy = y_expander > 0 - #print 'y_expander, adjy', y_expander, adjy - adjust_y = changey or adjy # (Ymarg > xmarg) - if adjust_y: - yc = 0.5 * (ymin + ymax) - y0 = yc - Ysize / 2.0 - y1 = yc + Ysize / 2.0 - if aspect_scale_mode == "log": - self.set_ybound((10. ** y0, 10. ** y1)) - else: - self.set_ybound((y0, y1)) - #print 'New y0, y1:', y0, y1 - #print 'New ysize, ysize/xsize', y1-y0, (y1-y0)/xsize - else: - xc = 0.5 * (xmin + xmax) - x0 = xc - Xsize / 2.0 - x1 = xc + Xsize / 2.0 - if aspect_scale_mode == "log": - self.set_xbound((10. ** x0, 10. ** x1)) - else: - self.set_xbound((x0, x1)) - #print 'New x0, x1:', x0, x1 - #print 'New xsize, ysize/xsize', x1-x0, ysize/(x1-x0) - - def axis(self, *v, **kwargs): - """ - Convenience method for manipulating the x and y view limits - and the aspect ratio of the plot. For details, see - :func:`~matplotlib.pyplot.axis`. - - *kwargs* are passed on to :meth:`set_xlim` and - :meth:`set_ylim` - """ - if len(v) == 0 and len(kwargs) == 0: - xmin, xmax = self.get_xlim() - ymin, ymax = self.get_ylim() - return xmin, xmax, ymin, ymax - - if len(v) == 1 and is_string_like(v[0]): - s = v[0].lower() - if s == 'on': - self.set_axis_on() - elif s == 'off': - self.set_axis_off() - elif s in ('equal', 'tight', 'scaled', 'normal', 'auto', 'image'): - self.set_autoscale_on(True) - self.set_aspect('auto') - self.autoscale_view(tight=False) - # self.apply_aspect() - if s == 'equal': - self.set_aspect('equal', adjustable='datalim') - elif s == 'scaled': - self.set_aspect('equal', adjustable='box', anchor='C') - self.set_autoscale_on(False) # Req. by Mark Bakker - elif s == 'tight': - self.autoscale_view(tight=True) - self.set_autoscale_on(False) - elif s == 'image': - self.autoscale_view(tight=True) - self.set_autoscale_on(False) - self.set_aspect('equal', adjustable='box', anchor='C') - - else: - raise ValueError('Unrecognized string %s to axis; ' - 'try on or off' % s) - xmin, xmax = self.get_xlim() - ymin, ymax = self.get_ylim() - return xmin, xmax, ymin, ymax - - emit = kwargs.get('emit', True) - try: - v[0] - except IndexError: - xmin = kwargs.get('xmin', None) - xmax = kwargs.get('xmax', None) - auto = False # turn off autoscaling, unless... - if xmin is None and xmax is None: - auto = None # leave autoscaling state alone - xmin, xmax = self.set_xlim(xmin, xmax, emit=emit, auto=auto) - - ymin = kwargs.get('ymin', None) - ymax = kwargs.get('ymax', None) - auto = False # turn off autoscaling, unless... - if ymin is None and ymax is None: - auto = None # leave autoscaling state alone - ymin, ymax = self.set_ylim(ymin, ymax, emit=emit, auto=auto) - return xmin, xmax, ymin, ymax - - v = v[0] - if len(v) != 4: - raise ValueError('v must contain [xmin xmax ymin ymax]') - - self.set_xlim([v[0], v[1]], emit=emit, auto=False) - self.set_ylim([v[2], v[3]], emit=emit, auto=False) - - return v - - def get_legend(self): - """ - Return the legend.Legend instance, or None if no legend is defined - """ - return self.legend_ - - def get_images(self): - """return a list of Axes images contained by the Axes""" - return cbook.silent_list('AxesImage', self.images) - - def get_lines(self): - """Return a list of lines contained by the Axes""" - return cbook.silent_list('Line2D', self.lines) - - def get_xaxis(self): - """Return the XAxis instance""" - return self.xaxis - - def get_xgridlines(self): - """Get the x grid lines as a list of Line2D instances""" - return cbook.silent_list('Line2D xgridline', - self.xaxis.get_gridlines()) - - def get_xticklines(self): - """Get the xtick lines as a list of Line2D instances""" - return cbook.silent_list('Text xtickline', - self.xaxis.get_ticklines()) - - def get_yaxis(self): - """Return the YAxis instance""" - return self.yaxis - - def get_ygridlines(self): - """Get the y grid lines as a list of Line2D instances""" - return cbook.silent_list('Line2D ygridline', - self.yaxis.get_gridlines()) - - def get_yticklines(self): - """Get the ytick lines as a list of Line2D instances""" - return cbook.silent_list('Line2D ytickline', - self.yaxis.get_ticklines()) - - #### Adding and tracking artists - - def _sci(self, im): - """ - helper for :func:`~matplotlib.pyplot.sci`; - do not use elsewhere. - """ - if isinstance(im, matplotlib.contour.ContourSet): - if im.collections[0] not in self.collections: - raise ValueError( - "ContourSet must be in current Axes") - elif im not in self.images and im not in self.collections: - raise ValueError( - "Argument must be an image, collection, or ContourSet in " - "this Axes") - self._current_image = im - - def _gci(self): - """ - Helper for :func:`~matplotlib.pyplot.gci`; - do not use elsewhere. - """ - return self._current_image - - def has_data(self): - """ - Return *True* if any artists have been added to axes. - - This should not be used to determine whether the *dataLim* - need to be updated, and may not actually be useful for - anything. - """ - return ( - len(self.collections) + - len(self.images) + - len(self.lines) + - len(self.patches)) > 0 - - def add_artist(self, a): - """ - Add any :class:`~matplotlib.artist.Artist` to the axes. - - Returns the artist. - """ - a.set_axes(self) - self.artists.append(a) - self._set_artist_props(a) - a.set_clip_path(self.patch) - a._remove_method = lambda h: self.artists.remove(h) - return a - - def add_collection(self, collection, autolim=True): - """ - Add a :class:`~matplotlib.collections.Collection` instance - to the axes. - - Returns the collection. - """ - label = collection.get_label() - if not label: - collection.set_label('_collection%d' % len(self.collections)) - self.collections.append(collection) - self._set_artist_props(collection) - - if collection.get_clip_path() is None: - collection.set_clip_path(self.patch) - - if (autolim and - collection._paths is not None and - len(collection._paths) and - len(collection._offsets)): - self.update_datalim(collection.get_datalim(self.transData)) - - collection._remove_method = lambda h: self.collections.remove(h) - return collection - - def add_line(self, line): - """ - Add a :class:`~matplotlib.lines.Line2D` to the list of plot - lines - - Returns the line. - """ - self._set_artist_props(line) - if line.get_clip_path() is None: - line.set_clip_path(self.patch) - - self._update_line_limits(line) - if not line.get_label(): - line.set_label('_line%d' % len(self.lines)) - self.lines.append(line) - line._remove_method = lambda h: self.lines.remove(h) - return line - - def _update_line_limits(self, line): - """ - Figures out the data limit of the given line, updating self.dataLim. - """ - path = line.get_path() - if path.vertices.size == 0: - return - - line_trans = line.get_transform() - - if line_trans == self.transData: - data_path = path - - elif any(line_trans.contains_branch_seperately(self.transData)): - # identify the transform to go from line's coordinates - # to data coordinates - trans_to_data = line_trans - self.transData - - # if transData is affine we can use the cached non-affine component - # of line's path. (since the non-affine part of line_trans is - # entirely encapsulated in trans_to_data). - if self.transData.is_affine: - line_trans_path = line._get_transformed_path() - na_path, _ = line_trans_path.get_transformed_path_and_affine() - data_path = trans_to_data.transform_path_affine(na_path) - else: - data_path = trans_to_data.transform_path(path) - else: - # for backwards compatibility we update the dataLim with the - # coordinate range of the given path, even though the coordinate - # systems are completely different. This may occur in situations - # such as when ax.transAxes is passed through for absolute - # positioning. - data_path = path - - if data_path.vertices.size > 0: - updatex, updatey = line_trans.contains_branch_seperately( - self.transData - ) - self.dataLim.update_from_path(data_path, - self.ignore_existing_data_limits, - updatex=updatex, - updatey=updatey) - self.ignore_existing_data_limits = False - - def add_patch(self, p): - """ - Add a :class:`~matplotlib.patches.Patch` *p* to the list of - axes patches; the clipbox will be set to the Axes clipping - box. If the transform is not set, it will be set to - :attr:`transData`. - - Returns the patch. - """ - - self._set_artist_props(p) - if p.get_clip_path() is None: - p.set_clip_path(self.patch) - self._update_patch_limits(p) - self.patches.append(p) - p._remove_method = lambda h: self.patches.remove(h) - return p - - def _update_patch_limits(self, patch): - """update the data limits for patch *p*""" - # hist can add zero height Rectangles, which is useful to keep - # the bins, counts and patches lined up, but it throws off log - # scaling. We'll ignore rects with zero height or width in - # the auto-scaling - - # cannot check for '==0' since unitized data may not compare to zero - if (isinstance(patch, mpatches.Rectangle) and - ((not patch.get_width()) or (not patch.get_height()))): - return - vertices = patch.get_path().vertices - if vertices.size > 0: - xys = patch.get_patch_transform().transform(vertices) - if patch.get_data_transform() != self.transData: - patch_to_data = (patch.get_data_transform() - - self.transData) - xys = patch_to_data.transform(xys) - - updatex, updatey = patch.get_transform().\ - contains_branch_seperately(self.transData) - self.update_datalim(xys, updatex=updatex, - updatey=updatey) - - def add_table(self, tab): - """ - Add a :class:`~matplotlib.tables.Table` instance to the - list of axes tables - - Returns the table. - """ - self._set_artist_props(tab) - self.tables.append(tab) - tab.set_clip_path(self.patch) - tab._remove_method = lambda h: self.tables.remove(h) - return tab - - def add_container(self, container): - """ - Add a :class:`~matplotlib.container.Container` instance - to the axes. - - Returns the collection. - """ - label = container.get_label() - if not label: - container.set_label('_container%d' % len(self.containers)) - self.containers.append(container) - container.set_remove_method(lambda h: self.containers.remove(h)) - return container - - def relim(self): - """ - Recompute the data limits based on current artists. - - At present, :class:`~matplotlib.collections.Collection` - instances are not supported. - """ - # Collections are deliberately not supported (yet); see - # the TODO note in artists.py. - self.dataLim.ignore(True) - self.dataLim.set_points(mtransforms.Bbox.null().get_points()) - self.ignore_existing_data_limits = True - - for line in self.lines: - self._update_line_limits(line) - - for p in self.patches: - self._update_patch_limits(p) - - - def update_datalim(self, xys, updatex=True, updatey=True): - """ - Update the data lim bbox with seq of xy tups or equiv. 2-D array - """ - # if no data is set currently, the bbox will ignore its - # limits and set the bound to be the bounds of the xydata. - # Otherwise, it will compute the bounds of it's current data - # and the data in xydata - - if iterable(xys) and not len(xys): - return - if not ma.isMaskedArray(xys): - xys = np.asarray(xys) - self.dataLim.update_from_data_xy(xys, self.ignore_existing_data_limits, - updatex=updatex, updatey=updatey) - self.ignore_existing_data_limits = False - - def update_datalim_numerix(self, x, y): - """ - Update the data lim bbox with seq of xy tups - """ - # if no data is set currently, the bbox will ignore it's - # limits and set the bound to be the bounds of the xydata. - # Otherwise, it will compute the bounds of it's current data - # and the data in xydata - if iterable(x) and not len(x): - return - self.dataLim.update_from_data(x, y, self.ignore_existing_data_limits) - self.ignore_existing_data_limits = False - - def update_datalim_bounds(self, bounds): - """ - Update the datalim to include the given - :class:`~matplotlib.transforms.Bbox` *bounds* - """ - self.dataLim.set(mtransforms.Bbox.union([self.dataLim, bounds])) - - def _process_unit_info(self, xdata=None, ydata=None, kwargs=None): - """Look for unit *kwargs* and update the axis instances as necessary""" - - if self.xaxis is None or self.yaxis is None: - return - - #print 'processing', self.get_geometry() - if xdata is not None: - # we only need to update if there is nothing set yet. - if not self.xaxis.have_units(): - self.xaxis.update_units(xdata) - #print '\tset from xdata', self.xaxis.units - - if ydata is not None: - # we only need to update if there is nothing set yet. - if not self.yaxis.have_units(): - self.yaxis.update_units(ydata) - #print '\tset from ydata', self.yaxis.units - - # process kwargs 2nd since these will override default units - if kwargs is not None: - xunits = kwargs.pop('xunits', self.xaxis.units) - if self.name == 'polar': - xunits = kwargs.pop('thetaunits', xunits) - if xunits != self.xaxis.units: - #print '\tkw setting xunits', xunits - self.xaxis.set_units(xunits) - # If the units being set imply a different converter, - # we need to update. - if xdata is not None: - self.xaxis.update_units(xdata) - - yunits = kwargs.pop('yunits', self.yaxis.units) - if self.name == 'polar': - yunits = kwargs.pop('runits', yunits) - if yunits != self.yaxis.units: - #print '\tkw setting yunits', yunits - self.yaxis.set_units(yunits) - # If the units being set imply a different converter, - # we need to update. - if ydata is not None: - self.yaxis.update_units(ydata) - - def in_axes(self, mouseevent): - """ - Return *True* if the given *mouseevent* (in display coords) - is in the Axes - """ - return self.patch.contains(mouseevent)[0] - - def get_autoscale_on(self): - """ - Get whether autoscaling is applied for both axes on plot commands - """ - return self._autoscaleXon and self._autoscaleYon - - def get_autoscalex_on(self): - """ - Get whether autoscaling for the x-axis is applied on plot commands - """ - return self._autoscaleXon - - def get_autoscaley_on(self): - """ - Get whether autoscaling for the y-axis is applied on plot commands - """ - return self._autoscaleYon - - def set_autoscale_on(self, b): - """ - Set whether autoscaling is applied on plot commands - - accepts: [ *True* | *False* ] - """ - self._autoscaleXon = b - self._autoscaleYon = b - - def set_autoscalex_on(self, b): - """ - Set whether autoscaling for the x-axis is applied on plot commands - - accepts: [ *True* | *False* ] - """ - self._autoscaleXon = b - - def set_autoscaley_on(self, b): - """ - Set whether autoscaling for the y-axis is applied on plot commands - - accepts: [ *True* | *False* ] - """ - self._autoscaleYon = b - - def set_xmargin(self, m): - """ - Set padding of X data limits prior to autoscaling. - - *m* times the data interval will be added to each - end of that interval before it is used in autoscaling. - - accepts: float in range 0 to 1 - """ - if m < 0 or m > 1: - raise ValueError("margin must be in range 0 to 1") - self._xmargin = m - - def set_ymargin(self, m): - """ - Set padding of Y data limits prior to autoscaling. - - *m* times the data interval will be added to each - end of that interval before it is used in autoscaling. - - accepts: float in range 0 to 1 - """ - if m < 0 or m > 1: - raise ValueError("margin must be in range 0 to 1") - self._ymargin = m - - def margins(self, *args, **kw): - """ - Set or retrieve autoscaling margins. - - signatures:: - - margins() - - returns xmargin, ymargin - - :: - - margins(margin) - - margins(xmargin, ymargin) - - margins(x=xmargin, y=ymargin) - - margins(..., tight=False) - - All three forms above set the xmargin and ymargin parameters. - All keyword parameters are optional. A single argument - specifies both xmargin and ymargin. The *tight* parameter - is passed to :meth:`autoscale_view`, which is executed after - a margin is changed; the default here is *True*, on the - assumption that when margins are specified, no additional - padding to match tick marks is usually desired. Setting - *tight* to *None* will preserve the previous setting. - - Specifying any margin changes only the autoscaling; for example, - if *xmargin* is not None, then *xmargin* times the X data - interval will be added to each end of that interval before - it is used in autoscaling. - - """ - if not args and not kw: - return self._xmargin, self._ymargin - - tight = kw.pop('tight', True) - mx = kw.pop('x', None) - my = kw.pop('y', None) - if len(args) == 1: - mx = my = args[0] - elif len(args) == 2: - mx, my = args - else: - raise ValueError("more than two arguments were supplied") - if mx is not None: - self.set_xmargin(mx) - if my is not None: - self.set_ymargin(my) - - scalex = (mx is not None) - scaley = (my is not None) - - self.autoscale_view(tight=tight, scalex=scalex, scaley=scaley) - - def set_rasterization_zorder(self, z): - """ - Set zorder value below which artists will be rasterized. Set - to `None` to disable rasterizing of artists below a particular - zorder. - """ - self._rasterization_zorder = z - - def get_rasterization_zorder(self): - """ - Get zorder value below which artists will be rasterized - """ - return self._rasterization_zorder - - def autoscale(self, enable=True, axis='both', tight=None): - """ - Autoscale the axis view to the data (toggle). - - Convenience method for simple axis view autoscaling. - It turns autoscaling on or off, and then, - if autoscaling for either axis is on, it performs - the autoscaling on the specified axis or axes. - - *enable*: [True | False | None] - True (default) turns autoscaling on, False turns it off. - None leaves the autoscaling state unchanged. - - *axis*: ['x' | 'y' | 'both'] - which axis to operate on; default is 'both' - - *tight*: [True | False | None] - If True, set view limits to data limits; - if False, let the locator and margins expand the view limits; - if None, use tight scaling if the only artist is an image, - otherwise treat *tight* as False. - The *tight* setting is retained for future autoscaling - until it is explicitly changed. - - - Returns None. - """ - if enable is None: - scalex = True - scaley = True - else: - scalex = False - scaley = False - if axis in ['x', 'both']: - self._autoscaleXon = bool(enable) - scalex = self._autoscaleXon - if axis in ['y', 'both']: - self._autoscaleYon = bool(enable) - scaley = self._autoscaleYon - self.autoscale_view(tight=tight, scalex=scalex, scaley=scaley) - - def autoscale_view(self, tight=None, scalex=True, scaley=True): - """ - Autoscale the view limits using the data limits. You can - selectively autoscale only a single axis, eg, the xaxis by - setting *scaley* to *False*. The autoscaling preserves any - axis direction reversal that has already been done. - - The data limits are not updated automatically when artist data are - changed after the artist has been added to an Axes instance. In that - case, use :meth:`matplotlib.axes.Axes.relim` prior to calling - autoscale_view. - """ - if tight is None: - # if image data only just use the datalim - _tight = self._tight or (len(self.images) > 0 and - len(self.lines) == 0 and - len(self.patches) == 0) - else: - _tight = self._tight = bool(tight) - - if scalex and self._autoscaleXon: - xshared = self._shared_x_axes.get_siblings(self) - dl = [ax.dataLim for ax in xshared] - bb = mtransforms.BboxBase.union(dl) - x0, x1 = bb.intervalx - xlocator = self.xaxis.get_major_locator() - try: - # e.g., DateLocator has its own nonsingular() - x0, x1 = xlocator.nonsingular(x0, x1) - except AttributeError: - # Default nonsingular for, e.g., MaxNLocator - x0, x1 = mtransforms.nonsingular(x0, x1, increasing=False, - expander=0.05) - if self._xmargin > 0: - delta = (x1 - x0) * self._xmargin - x0 -= delta - x1 += delta - if not _tight: - x0, x1 = xlocator.view_limits(x0, x1) - self.set_xbound(x0, x1) - - if scaley and self._autoscaleYon: - yshared = self._shared_y_axes.get_siblings(self) - dl = [ax.dataLim for ax in yshared] - bb = mtransforms.BboxBase.union(dl) - y0, y1 = bb.intervaly - ylocator = self.yaxis.get_major_locator() - try: - y0, y1 = ylocator.nonsingular(y0, y1) - except AttributeError: - y0, y1 = mtransforms.nonsingular(y0, y1, increasing=False, - expander=0.05) - if self._ymargin > 0: - delta = (y1 - y0) * self._ymargin - y0 -= delta - y1 += delta - if not _tight: - y0, y1 = ylocator.view_limits(y0, y1) - self.set_ybound(y0, y1) - - #### Drawing - - @allow_rasterization - def draw(self, renderer=None, inframe=False): - """Draw everything (plot lines, axes, labels)""" - if renderer is None: - renderer = self._cachedRenderer - - if renderer is None: - raise RuntimeError('No renderer defined') - if not self.get_visible(): - return - renderer.open_group('axes') - - locator = self.get_axes_locator() - if locator: - pos = locator(self, renderer) - self.apply_aspect(pos) - else: - self.apply_aspect() - - artists = [] - - artists.extend(self.collections) - artists.extend(self.patches) - artists.extend(self.lines) - artists.extend(self.texts) - artists.extend(self.artists) - if self.axison and not inframe: - if self._axisbelow: - self.xaxis.set_zorder(0.5) - self.yaxis.set_zorder(0.5) - else: - self.xaxis.set_zorder(2.5) - self.yaxis.set_zorder(2.5) - artists.extend([self.xaxis, self.yaxis]) - if not inframe: - artists.append(self.title) - artists.append(self._left_title) - artists.append(self._right_title) - artists.extend(self.tables) - if self.legend_ is not None: - artists.append(self.legend_) - - # the frame draws the edges around the axes patch -- we - # decouple these so the patch can be in the background and the - # frame in the foreground. - if self.axison and self._frameon: - artists.extend(self.spines.itervalues()) - - if self.figure.canvas.is_saving(): - dsu = [(a.zorder, a) for a in artists] - else: - dsu = [(a.zorder, a) for a in artists - if not a.get_animated()] - - # add images to dsu if the backend support compositing. - # otherwise, does the manaul compositing without adding images to dsu. - if len(self.images) <= 1 or renderer.option_image_nocomposite(): - dsu.extend([(im.zorder, im) for im in self.images]) - _do_composite = False - else: - _do_composite = True - - dsu.sort(key=itemgetter(0)) - - # rasterize artists with negative zorder - # if the minimum zorder is negative, start rasterization - rasterization_zorder = self._rasterization_zorder - if (rasterization_zorder is not None and - len(dsu) > 0 and dsu[0][0] < rasterization_zorder): - renderer.start_rasterizing() - dsu_rasterized = [l for l in dsu if l[0] < rasterization_zorder] - dsu = [l for l in dsu if l[0] >= rasterization_zorder] - else: - dsu_rasterized = [] - - # the patch draws the background rectangle -- the frame below - # will draw the edges - if self.axison and self._frameon: - self.patch.draw(renderer) - - if _do_composite: - # make a composite image blending alpha - # list of (mimage.Image, ox, oy) - - zorder_images = [(im.zorder, im) for im in self.images - if im.get_visible()] - zorder_images.sort(key=lambda x: x[0]) - - mag = renderer.get_image_magnification() - ims = [(im.make_image(mag), 0, 0, im.get_alpha()) for z, im in zorder_images] - - l, b, r, t = self.bbox.extents - width = mag * ((round(r) + 0.5) - (round(l) - 0.5)) - height = mag * ((round(t) + 0.5) - (round(b) - 0.5)) - im = mimage.from_images(height, - width, - ims) - - im.is_grayscale = False - l, b, w, h = self.bbox.bounds - # composite images need special args so they will not - # respect z-order for now - - gc = renderer.new_gc() - gc.set_clip_rectangle(self.bbox) - gc.set_clip_path(mtransforms.TransformedPath( - self.patch.get_path(), - self.patch.get_transform())) - - renderer.draw_image(gc, round(l), round(b), im) - gc.restore() - - if dsu_rasterized: - for zorder, a in dsu_rasterized: - a.draw(renderer) - renderer.stop_rasterizing() - - for zorder, a in dsu: - a.draw(renderer) - - renderer.close_group('axes') - self._cachedRenderer = renderer - - def draw_artist(self, a): - """ - This method can only be used after an initial draw which - caches the renderer. It is used to efficiently update Axes - data (axis ticks, labels, etc are not updated) - """ - assert self._cachedRenderer is not None - a.draw(self._cachedRenderer) - - def redraw_in_frame(self): - """ - This method can only be used after an initial draw which - caches the renderer. It is used to efficiently update Axes - data (axis ticks, labels, etc are not updated) - """ - assert self._cachedRenderer is not None - self.draw(self._cachedRenderer, inframe=True) - - def get_renderer_cache(self): - return self._cachedRenderer - - #### Axes rectangle characteristics - - def get_frame_on(self): - """ - Get whether the axes rectangle patch is drawn - """ - return self._frameon - - def set_frame_on(self, b): - """ - Set whether the axes rectangle patch is drawn - - ACCEPTS: [ *True* | *False* ] - """ - self._frameon = b - - def get_axisbelow(self): - """ - Get whether axis below is true or not - """ - return self._axisbelow - - def set_axisbelow(self, b): - """ - Set whether the axis ticks and gridlines are above or below most - artists - - ACCEPTS: [ *True* | *False* ] - """ - self._axisbelow = b - - @docstring.dedent_interpd - def grid(self, b=None, which='major', axis='both', **kwargs): - """ - Turn the axes grids on or off. - - Call signature:: - - grid(self, b=None, which='major', axis='both', **kwargs) - - Set the axes grids on or off; *b* is a boolean. (For MATLAB - compatibility, *b* may also be a string, 'on' or 'off'.) - - If *b* is *None* and ``len(kwargs)==0``, toggle the grid state. If - *kwargs* are supplied, it is assumed that you want a grid and *b* - is thus set to *True*. - - *which* can be 'major' (default), 'minor', or 'both' to control - whether major tick grids, minor tick grids, or both are affected. - - *axis* can be 'both' (default), 'x', or 'y' to control which - set of gridlines are drawn. - - *kwargs* are used to set the grid line properties, eg:: - - ax.grid(color='r', linestyle='-', linewidth=2) - - Valid :class:`~matplotlib.lines.Line2D` kwargs are - - %(Line2D)s - - """ - if len(kwargs): - b = True - b = _string_to_bool(b) - - if axis == 'x' or axis == 'both': - self.xaxis.grid(b, which=which, **kwargs) - if axis == 'y' or axis == 'both': - self.yaxis.grid(b, which=which, **kwargs) - - def ticklabel_format(self, **kwargs): - """ - Change the `~matplotlib.ticker.ScalarFormatter` used by - default for linear axes. - - Optional keyword arguments: - - ============ ========================================= - Keyword Description - ============ ========================================= - *style* [ 'sci' (or 'scientific') | 'plain' ] - plain turns off scientific notation - *scilimits* (m, n), pair of integers; if *style* - is 'sci', scientific notation will - be used for numbers outside the range - 10`m`:sup: to 10`n`:sup:. - Use (0,0) to include all numbers. - *useOffset* [True | False | offset]; if True, - the offset will be calculated as needed; - if False, no offset will be used; if a - numeric offset is specified, it will be - used. - *axis* [ 'x' | 'y' | 'both' ] - *useLocale* If True, format the number according to - the current locale. This affects things - such as the character used for the - decimal separator. If False, use - C-style (English) formatting. The - default setting is controlled by the - axes.formatter.use_locale rcparam. - ============ ========================================= - - Only the major ticks are affected. - If the method is called when the - :class:`~matplotlib.ticker.ScalarFormatter` is not the - :class:`~matplotlib.ticker.Formatter` being used, an - :exc:`AttributeError` will be raised. - - """ - style = kwargs.pop('style', '').lower() - scilimits = kwargs.pop('scilimits', None) - useOffset = kwargs.pop('useOffset', None) - useLocale = kwargs.pop('useLocale', None) - axis = kwargs.pop('axis', 'both').lower() - if scilimits is not None: - try: - m, n = scilimits - m + n + 1 # check that both are numbers - except (ValueError, TypeError): - raise ValueError("scilimits must be a sequence of 2 integers") - if style[:3] == 'sci': - sb = True - elif style in ['plain', 'comma']: - sb = False - if style == 'plain': - cb = False - else: - cb = True - raise NotImplementedError("comma style remains to be added") - elif style == '': - sb = None - else: - raise ValueError("%s is not a valid style value") - try: - if sb is not None: - if axis == 'both' or axis == 'x': - self.xaxis.major.formatter.set_scientific(sb) - if axis == 'both' or axis == 'y': - self.yaxis.major.formatter.set_scientific(sb) - if scilimits is not None: - if axis == 'both' or axis == 'x': - self.xaxis.major.formatter.set_powerlimits(scilimits) - if axis == 'both' or axis == 'y': - self.yaxis.major.formatter.set_powerlimits(scilimits) - if useOffset is not None: - if axis == 'both' or axis == 'x': - self.xaxis.major.formatter.set_useOffset(useOffset) - if axis == 'both' or axis == 'y': - self.yaxis.major.formatter.set_useOffset(useOffset) - if useLocale is not None: - if axis == 'both' or axis == 'x': - self.xaxis.major.formatter.set_useLocale(useLocale) - if axis == 'both' or axis == 'y': - self.yaxis.major.formatter.set_useLocale(useLocale) - except AttributeError: - raise AttributeError( - "This method only works with the ScalarFormatter.") - - def locator_params(self, axis='both', tight=None, **kwargs): - """ - Control behavior of tick locators. - - Keyword arguments: - - *axis* - ['x' | 'y' | 'both'] Axis on which to operate; - default is 'both'. - - *tight* - [True | False | None] Parameter passed to :meth:`autoscale_view`. - Default is None, for no change. - - Remaining keyword arguments are passed to directly to the - :meth:`~matplotlib.ticker.MaxNLocator.set_params` method. - - Typically one might want to reduce the maximum number - of ticks and use tight bounds when plotting small - subplots, for example:: - - ax.locator_params(tight=True, nbins=4) - - Because the locator is involved in autoscaling, - :meth:`autoscale_view` is called automatically after - the parameters are changed. - - This presently works only for the - :class:`~matplotlib.ticker.MaxNLocator` used - by default on linear axes, but it may be generalized. - """ - _x = axis in ['x', 'both'] - _y = axis in ['y', 'both'] - if _x: - self.xaxis.get_major_locator().set_params(**kwargs) - if _y: - self.yaxis.get_major_locator().set_params(**kwargs) - self.autoscale_view(tight=tight, scalex=_x, scaley=_y) - - def tick_params(self, axis='both', **kwargs): - """ - Change the appearance of ticks and tick labels. - - Keyword arguments: - - *axis* : ['x' | 'y' | 'both'] - Axis on which to operate; default is 'both'. - - *reset* : [True | False] - If *True*, set all parameters to defaults - before processing other keyword arguments. Default is - *False*. - - *which* : ['major' | 'minor' | 'both'] - Default is 'major'; apply arguments to *which* ticks. - - *direction* : ['in' | 'out' | 'inout'] - Puts ticks inside the axes, outside the axes, or both. - - *length* - Tick length in points. - - *width* - Tick width in points. - - *color* - Tick color; accepts any mpl color spec. - - *pad* - Distance in points between tick and label. - - *labelsize* - Tick label font size in points or as a string (e.g., 'large'). - - *labelcolor* - Tick label color; mpl color spec. - - *colors* - Changes the tick color and the label color to the same value: - mpl color spec. - - *zorder* - Tick and label zorder. - - *bottom*, *top*, *left*, *right* : [bool | 'on' | 'off'] - controls whether to draw the respective ticks. - - *labelbottom*, *labeltop*, *labelleft*, *labelright* - Boolean or ['on' | 'off'], controls whether to draw the - respective tick labels. - - Example:: - - ax.tick_params(direction='out', length=6, width=2, colors='r') - - This will make all major ticks be red, pointing out of the box, - and with dimensions 6 points by 2 points. Tick labels will - also be red. - - """ - if axis in ['x', 'both']: - xkw = dict(kwargs) - xkw.pop('left', None) - xkw.pop('right', None) - xkw.pop('labelleft', None) - xkw.pop('labelright', None) - self.xaxis.set_tick_params(**xkw) - if axis in ['y', 'both']: - ykw = dict(kwargs) - ykw.pop('top', None) - ykw.pop('bottom', None) - ykw.pop('labeltop', None) - ykw.pop('labelbottom', None) - self.yaxis.set_tick_params(**ykw) - - def set_axis_off(self): - """turn off the axis""" - self.axison = False - - def set_axis_on(self): - """turn on the axis""" - self.axison = True - - def get_axis_bgcolor(self): - """Return the axis background color""" - return self._axisbg - - def set_axis_bgcolor(self, color): - """ - set the axes background color - - ACCEPTS: any matplotlib color - see - :func:`~matplotlib.pyplot.colors` - """ - - self._axisbg = color - self.patch.set_facecolor(color) - - ### data limits, ticks, tick labels, and formatting - - def invert_xaxis(self): - "Invert the x-axis." - left, right = self.get_xlim() - self.set_xlim(right, left, auto=None) - - def xaxis_inverted(self): - """Returns *True* if the x-axis is inverted.""" - left, right = self.get_xlim() - return right < left - - def get_xbound(self): - """ - Returns the x-axis numerical bounds where:: - - lowerBound < upperBound - - """ - left, right = self.get_xlim() - if left < right: - return left, right - else: - return right, left - - def set_xbound(self, lower=None, upper=None): - """ - Set the lower and upper numerical bounds of the x-axis. - This method will honor axes inversion regardless of parameter order. - It will not change the _autoscaleXon attribute. - """ - if upper is None and iterable(lower): - lower, upper = lower - - old_lower, old_upper = self.get_xbound() - - if lower is None: - lower = old_lower - if upper is None: - upper = old_upper - - if self.xaxis_inverted(): - if lower < upper: - self.set_xlim(upper, lower, auto=None) - else: - self.set_xlim(lower, upper, auto=None) - else: - if lower < upper: - self.set_xlim(lower, upper, auto=None) - else: - self.set_xlim(upper, lower, auto=None) - - def get_xlim(self): - """ - Get the x-axis range [*left*, *right*] - """ - return tuple(self.viewLim.intervalx) - - def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw): - """ - Call signature:: - - set_xlim(self, *args, **kwargs): - - Set the data limits for the xaxis - - Examples:: - - set_xlim((left, right)) - set_xlim(left, right) - set_xlim(left=1) # right unchanged - set_xlim(right=1) # left unchanged - - Keyword arguments: - - *left*: scalar - The left xlim; *xmin*, the previous name, may still be used - - *right*: scalar - The right xlim; *xmax*, the previous name, may still be used - - *emit*: [ *True* | *False* ] - Notify observers of limit change - - *auto*: [ *True* | *False* | *None* ] - Turn *x* autoscaling on (*True*), off (*False*; default), - or leave unchanged (*None*) - - Note, the *left* (formerly *xmin*) value may be greater than - the *right* (formerly *xmax*). - For example, suppose *x* is years before present. - Then one might use:: - - set_ylim(5000, 0) - - so 5000 years ago is on the left of the plot and the - present is on the right. - - Returns the current xlimits as a length 2 tuple - - ACCEPTS: length 2 sequence of floats - """ - if 'xmin' in kw: - left = kw.pop('xmin') - if 'xmax' in kw: - right = kw.pop('xmax') - if kw: - raise ValueError("unrecognized kwargs: %s" % kw.keys()) - - if right is None and iterable(left): - left, right = left - - self._process_unit_info(xdata=(left, right)) - if left is not None: - left = self.convert_xunits(left) - if right is not None: - right = self.convert_xunits(right) - - old_left, old_right = self.get_xlim() - if left is None: - left = old_left - if right is None: - right = old_right - - if left == right: - warnings.warn(('Attempting to set identical left==right results\n' - + 'in singular transformations; automatically expanding.\n' - + 'left=%s, right=%s') % (left, right)) - left, right = mtransforms.nonsingular(left, right, increasing=False) - left, right = self.xaxis.limit_range_for_scale(left, right) - - self.viewLim.intervalx = (left, right) - if auto is not None: - self._autoscaleXon = bool(auto) - - if emit: - self.callbacks.process('xlim_changed', self) - # Call all of the other x-axes that are shared with this one - for other in self._shared_x_axes.get_siblings(self): - if other is not self: - other.set_xlim(self.viewLim.intervalx, - emit=False, auto=auto) - if (other.figure != self.figure and - other.figure.canvas is not None): - other.figure.canvas.draw_idle() - - return left, right - - def get_xscale(self): - return self.xaxis.get_scale() - get_xscale.__doc__ = "Return the xaxis scale string: %s""" % ( - ", ".join(mscale.get_scale_names())) - - @docstring.dedent_interpd - def set_xscale(self, value, **kwargs): - """ - Call signature:: - - set_xscale(value) - - Set the scaling of the x-axis: %(scale)s - - ACCEPTS: [%(scale)s] - - Different kwargs are accepted, depending on the scale: - %(scale_docs)s - """ - self.xaxis._set_scale(value, **kwargs) - self.autoscale_view(scaley=False) - self._update_transScale() - - def get_xticks(self, minor=False): - """Return the x ticks as a list of locations""" - return self.xaxis.get_ticklocs(minor=minor) - - def set_xticks(self, ticks, minor=False): - """ - Set the x ticks with list of *ticks* - - ACCEPTS: sequence of floats - """ - return self.xaxis.set_ticks(ticks, minor=minor) - - def get_xmajorticklabels(self): - """ - Get the xtick labels as a list of :class:`~matplotlib.text.Text` - instances. - """ - return cbook.silent_list('Text xticklabel', - self.xaxis.get_majorticklabels()) - - def get_xminorticklabels(self): - """ - Get the x minor tick labels as a list of - :class:`matplotlib.text.Text` instances. - """ - return cbook.silent_list('Text xticklabel', - self.xaxis.get_minorticklabels()) - - def get_xticklabels(self, minor=False): - """ - Get the x tick labels as a list of :class:`~matplotlib.text.Text` - instances. - """ - return cbook.silent_list('Text xticklabel', - self.xaxis.get_ticklabels(minor=minor)) - - @docstring.dedent_interpd - def set_xticklabels(self, labels, fontdict=None, minor=False, **kwargs): - """ - Call signature:: - - set_xticklabels(labels, fontdict=None, minor=False, **kwargs) - - Set the xtick labels with list of strings *labels*. Return a - list of axis text instances. - - *kwargs* set the :class:`~matplotlib.text.Text` properties. - Valid properties are - %(Text)s - - ACCEPTS: sequence of strings - """ - return self.xaxis.set_ticklabels(labels, fontdict, - minor=minor, **kwargs) - - def invert_yaxis(self): - """ - Invert the y-axis. - """ - bottom, top = self.get_ylim() - self.set_ylim(top, bottom, auto=None) - - def yaxis_inverted(self): - """Returns *True* if the y-axis is inverted.""" - bottom, top = self.get_ylim() - return top < bottom - - def get_ybound(self): - """ - Return y-axis numerical bounds in the form of - ``lowerBound < upperBound`` - """ - bottom, top = self.get_ylim() - if bottom < top: - return bottom, top - else: - return top, bottom - - def set_ybound(self, lower=None, upper=None): - """ - Set the lower and upper numerical bounds of the y-axis. - This method will honor axes inversion regardless of parameter order. - It will not change the _autoscaleYon attribute. - """ - if upper is None and iterable(lower): - lower, upper = lower - - old_lower, old_upper = self.get_ybound() - - if lower is None: - lower = old_lower - if upper is None: - upper = old_upper - - if self.yaxis_inverted(): - if lower < upper: - self.set_ylim(upper, lower, auto=None) - else: - self.set_ylim(lower, upper, auto=None) - else: - if lower < upper: - self.set_ylim(lower, upper, auto=None) - else: - self.set_ylim(upper, lower, auto=None) - - def get_ylim(self): - """ - Get the y-axis range [*bottom*, *top*] - """ - return tuple(self.viewLim.intervaly) - - def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): - """ - Call signature:: - - set_ylim(self, *args, **kwargs): - - Set the data limits for the yaxis - - Examples:: - - set_ylim((bottom, top)) - set_ylim(bottom, top) - set_ylim(bottom=1) # top unchanged - set_ylim(top=1) # bottom unchanged - - Keyword arguments: - - *bottom*: scalar - The bottom ylim; the previous name, *ymin*, may still be used - - *top*: scalar - The top ylim; the previous name, *ymax*, may still be used - - *emit*: [ *True* | *False* ] - Notify observers of limit change - - *auto*: [ *True* | *False* | *None* ] - Turn *y* autoscaling on (*True*), off (*False*; default), - or leave unchanged (*None*) - - Note, the *bottom* (formerly *ymin*) value may be greater than - the *top* (formerly *ymax*). - For example, suppose *y* is depth in the ocean. - Then one might use:: - - set_ylim(5000, 0) - - so 5000 m depth is at the bottom of the plot and the - surface, 0 m, is at the top. - - Returns the current ylimits as a length 2 tuple - - ACCEPTS: length 2 sequence of floats - """ - if 'ymin' in kw: - bottom = kw.pop('ymin') - if 'ymax' in kw: - top = kw.pop('ymax') - if kw: - raise ValueError("unrecognized kwargs: %s" % kw.keys()) - - if top is None and iterable(bottom): - bottom, top = bottom - - if bottom is not None: - bottom = self.convert_yunits(bottom) - if top is not None: - top = self.convert_yunits(top) - - old_bottom, old_top = self.get_ylim() - - if bottom is None: - bottom = old_bottom - if top is None: - top = old_top - - if bottom == top: - warnings.warn(('Attempting to set identical bottom==top results\n' - + 'in singular transformations; automatically expanding.\n' - + 'bottom=%s, top=%s') % (bottom, top)) - - bottom, top = mtransforms.nonsingular(bottom, top, increasing=False) - bottom, top = self.yaxis.limit_range_for_scale(bottom, top) - - self.viewLim.intervaly = (bottom, top) - if auto is not None: - self._autoscaleYon = bool(auto) - - if emit: - self.callbacks.process('ylim_changed', self) - # Call all of the other y-axes that are shared with this one - for other in self._shared_y_axes.get_siblings(self): - if other is not self: - other.set_ylim(self.viewLim.intervaly, - emit=False, auto=auto) - if (other.figure != self.figure and - other.figure.canvas is not None): - other.figure.canvas.draw_idle() - - return bottom, top - - def get_yscale(self): - return self.yaxis.get_scale() - get_yscale.__doc__ = "Return the yaxis scale string: %s""" % ( - ", ".join(mscale.get_scale_names())) - - @docstring.dedent_interpd - def set_yscale(self, value, **kwargs): - """ - Call signature:: - - set_yscale(value) - - Set the scaling of the y-axis: %(scale)s - - ACCEPTS: [%(scale)s] - - Different kwargs are accepted, depending on the scale: - %(scale_docs)s - """ - self.yaxis._set_scale(value, **kwargs) - self.autoscale_view(scalex=False) - self._update_transScale() - - def get_yticks(self, minor=False): - """Return the y ticks as a list of locations""" - return self.yaxis.get_ticklocs(minor=minor) - - def set_yticks(self, ticks, minor=False): - """ - Set the y ticks with list of *ticks* - - ACCEPTS: sequence of floats - - Keyword arguments: - - *minor*: [ *False* | *True* ] - Sets the minor ticks if *True* - """ - return self.yaxis.set_ticks(ticks, minor=minor) - - def get_ymajorticklabels(self): - """ - Get the major y tick labels as a list of - :class:`~matplotlib.text.Text` instances. - """ - return cbook.silent_list('Text yticklabel', - self.yaxis.get_majorticklabels()) - - def get_yminorticklabels(self): - """ - Get the minor y tick labels as a list of - :class:`~matplotlib.text.Text` instances. - """ - return cbook.silent_list('Text yticklabel', - self.yaxis.get_minorticklabels()) - - def get_yticklabels(self, minor=False): - """ - Get the y tick labels as a list of :class:`~matplotlib.text.Text` - instances - """ - return cbook.silent_list('Text yticklabel', - self.yaxis.get_ticklabels(minor=minor)) - - @docstring.dedent_interpd - def set_yticklabels(self, labels, fontdict=None, minor=False, **kwargs): - """ - Call signature:: - - set_yticklabels(labels, fontdict=None, minor=False, **kwargs) - - Set the y tick labels with list of strings *labels*. Return a list of - :class:`~matplotlib.text.Text` instances. - - *kwargs* set :class:`~matplotlib.text.Text` properties for the labels. - Valid properties are - %(Text)s - - ACCEPTS: sequence of strings - """ - return self.yaxis.set_ticklabels(labels, fontdict, - minor=minor, **kwargs) - - def xaxis_date(self, tz=None): - """ - Sets up x-axis ticks and labels that treat the x data as dates. - - *tz* is a timezone string or :class:`tzinfo` instance. - Defaults to rc value. - """ - # should be enough to inform the unit conversion interface - # 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 a timezone string or :class:`tzinfo` instance. - Defaults to rc value. - """ - self.yaxis.axis_date(tz) - - def format_xdata(self, x): - """ - Return *x* string formatted. This function will use the attribute - self.fmt_xdata if it is callable, else will fall back on the xaxis - major formatter - """ - try: - return self.fmt_xdata(x) - except TypeError: - func = self.xaxis.get_major_formatter().format_data_short - val = func(x) - return val - - def format_ydata(self, y): - """ - Return y string formatted. This function will use the - :attr:`fmt_ydata` attribute if it is callable, else will fall - back on the yaxis major formatter - """ - try: - return self.fmt_ydata(y) - except TypeError: - func = self.yaxis.get_major_formatter().format_data_short - val = func(y) - return val - - def format_coord(self, x, y): - """Return a format string formatting the *x*, *y* coord""" - if x is None: - xs = '???' - else: - xs = self.format_xdata(x) - if y is None: - ys = '???' - else: - ys = self.format_ydata(y) - return 'x=%s y=%s' % (xs, ys) - - #### Interactive manipulation - - def can_zoom(self): - """ - Return *True* if this axes supports the zoom box button functionality. - """ - return True - - def can_pan(self): - """ - Return *True* if this axes supports any pan/zoom button functionality. - """ - return True - - def get_navigate(self): - """ - Get whether the axes responds to navigation commands - """ - return self._navigate - - def set_navigate(self, b): - """ - Set whether the axes responds to navigation toolbar commands - - ACCEPTS: [ *True* | *False* ] - """ - self._navigate = b - - def get_navigate_mode(self): - """ - Get the navigation toolbar button status: 'PAN', 'ZOOM', or None - """ - return self._navigate_mode - - def set_navigate_mode(self, b): - """ - Set the navigation toolbar button status; - - .. warning:: - this is not a user-API function. - - """ - self._navigate_mode = b - - def start_pan(self, x, y, button): - """ - Called when a pan operation has started. - - *x*, *y* are the mouse coordinates in display coords. - button is the mouse button number: - - * 1: LEFT - * 2: MIDDLE - * 3: RIGHT - - .. note:: - - Intended to be overridden by new projection types. - - """ - self._pan_start = cbook.Bunch( - lim=self.viewLim.frozen(), - trans=self.transData.frozen(), - trans_inverse=self.transData.inverted().frozen(), - bbox=self.bbox.frozen(), - x=x, - y=y - ) - - def end_pan(self): - """ - Called when a pan operation completes (when the mouse button - is up.) - - .. note:: - - Intended to be overridden by new projection types. - - """ - del self._pan_start - - def drag_pan(self, button, key, x, y): - """ - Called when the mouse moves during a pan operation. - - *button* is the mouse button number: - - * 1: LEFT - * 2: MIDDLE - * 3: RIGHT - - *key* is a "shift" key - - *x*, *y* are the mouse coordinates in display coords. - - .. note:: - - Intended to be overridden by new projection types. - - """ - def format_deltas(key, dx, dy): - if key == 'control': - if abs(dx) > abs(dy): - dy = dx - else: - dx = dy - elif key == 'x': - dy = 0 - elif key == 'y': - dx = 0 - elif key == 'shift': - if 2 * abs(dx) < abs(dy): - dx = 0 - elif 2 * abs(dy) < abs(dx): - dy = 0 - elif abs(dx) > abs(dy): - dy = dy / abs(dy) * abs(dx) - else: - dx = dx / abs(dx) * abs(dy) - return (dx, dy) - - p = self._pan_start - dx = x - p.x - dy = y - p.y - if dx == 0 and dy == 0: - return - if button == 1: - dx, dy = format_deltas(key, dx, dy) - result = p.bbox.translated(-dx, -dy) \ - .transformed(p.trans_inverse) - elif button == 3: - try: - dx = -dx / float(self.bbox.width) - dy = -dy / float(self.bbox.height) - dx, dy = format_deltas(key, dx, dy) - if self.get_aspect() != 'auto': - dx = 0.5 * (dx + dy) - dy = dx - - alpha = np.power(10.0, (dx, dy)) - start = np.array([p.x, p.y]) - oldpoints = p.lim.transformed(p.trans) - newpoints = start + alpha * (oldpoints - start) - result = mtransforms.Bbox(newpoints) \ - .transformed(p.trans_inverse) - except OverflowError: - warnings.warn('Overflow while panning') - return - - self.set_xlim(*result.intervalx) - self.set_ylim(*result.intervaly) - - def get_cursor_props(self): - """ - Return the cursor propertiess as a (*linewidth*, *color*) - tuple, where *linewidth* is a float and *color* is an RGBA - tuple - """ - return self._cursorProps - - def set_cursor_props(self, *args): - """ - Set the cursor property as:: - - ax.set_cursor_props(linewidth, color) - - or:: - - ax.set_cursor_props((linewidth, color)) - - ACCEPTS: a (*float*, *color*) tuple - """ - if len(args) == 1: - lw, c = args[0] - elif len(args) == 2: - lw, c = args - else: - raise ValueError('args must be a (linewidth, color) tuple') - c = mcolors.colorConverter.to_rgba(c) - self._cursorProps = lw, c - - def get_children(self): - """return a list of child artists""" - children = [] - children.append(self.xaxis) - children.append(self.yaxis) - children.extend(self.lines) - children.extend(self.patches) - children.extend(self.texts) - children.extend(self.tables) - children.extend(self.artists) - children.extend(self.images) - if self.legend_ is not None: - children.append(self.legend_) - children.extend(self.collections) - children.append(self.title) - children.append(self._left_title) - children.append(self._right_title) - children.append(self.patch) - children.extend(self.spines.itervalues()) - return children - - def contains(self, mouseevent): - """ - Test whether the mouse event occured in the axes. - - Returns *True* / *False*, {} - """ - if callable(self._contains): - return self._contains(self, mouseevent) - - return self.patch.contains(mouseevent) - - def contains_point(self, point): - """ - Returns *True* if the point (tuple of x,y) is inside the axes - (the area defined by the its patch). A pixel coordinate is - required. - - """ - return self.patch.contains_point(point, radius=1.0) - - def pick(self, *args): - """ - Call signature:: - - pick(mouseevent) - - each child artist will fire a pick event if mouseevent is over - the artist and the artist has picker set - """ - martist.Artist.pick(self, args[0]) +class Axes(_AxesBase): + """ + The :class:`Axes` contains most of the figure elements: + :class:`~matplotlib.axis.Axis`, :class:`~matplotlib.axis.Tick`, + :class:`~matplotlib.lines.Line2D`, :class:`~matplotlib.text.Text`, + :class:`~matplotlib.patches.Polygon`, etc., and sets the + coordinate system. + The :class:`Axes` instance supports callbacks through a callbacks + attribute which is a :class:`~matplotlib.cbook.CallbackRegistry` + instance. The events you can connect to are 'xlim_changed' and + 'ylim_changed' and the callback will be called with func(*ax*) + where *ax* is the :class:`Axes` instance. + """ ### Labelling def get_title(self, loc="center"): @@ -3404,7 +305,7 @@ def annotate(self, *args, **kwargs): a = mtext.Annotation(*args, **kwargs) a.set_transform(mtransforms.IdentityTransform()) self._set_artist_props(a) - if kwargs.has_key('clip_on'): + if 'clip_on' in kwargs: a.set_clip_path(self.patch) self.texts.append(a) a._remove_method = lambda h: self.texts.remove(h) @@ -5735,7 +2636,7 @@ def xywhere(xs, ys, mask): rightup, yup = xywhere(right, y, xuplims & everymask) caplines.extend( - self.plot(rightup, yup, ls='None', + self.plot(rightup, yup, ls='None', marker=mlines.CARETRIGHT, **plot_kw)) xuplims = ~xuplims rightup, yup = xywhere(right, y, xuplims & everymask) @@ -6624,7 +3525,7 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, polygon = np.zeros((6, 2), float) polygon[:, 0] = sx * np.array([0.5, 0.5, 0.0, -0.5, -0.5, 0.0]) - polygon[:, 1] = sy * np.array([-0.5, 0.5, 1.0, 0.5, -0.5, -1.0]) / 3.0 + polygon[:, 1] = sy * np.array([-0.5, 0.5, 1.0, 0.5, -0.5, -1.0]) / 3.0 if edgecolors == 'none': edgecolors = 'face' @@ -7370,11 +4271,11 @@ def _pcolorargs(funcname, *args, **kw): ' X (%d) and/or Y (%d); see help(%s)' % ( C.shape, Nx, Ny, funcname)) else: - if not (numCols in (Nx, Nx-1) and numRows in (Ny, Ny-1)): + if not (numCols in (Nx, Nx - 1) and numRows in (Ny, Ny - 1)): raise TypeError('Dimensions of C %s are incompatible with' ' X (%d) and/or Y (%d); see help(%s)' % ( C.shape, Nx, Ny, funcname)) - C = C[:Ny-1, :Nx-1] + C = C[:Ny - 1, :Nx - 1] return X, Y, C @docstring.dedent_interpd @@ -9196,211 +6097,3 @@ def tripcolor(self, *args, **kwargs): def triplot(self, *args, **kwargs): mtri.triplot(self, *args, **kwargs) triplot.__doc__ = mtri.triplot.__doc__ - - -from matplotlib.gridspec import GridSpec, SubplotSpec - - -class SubplotBase: - """ - Base class for subplots, which are :class:`Axes` instances with - additional methods to facilitate generating and manipulating a set - of :class:`Axes` within a figure. - """ - - def __init__(self, fig, *args, **kwargs): - """ - *fig* is a :class:`matplotlib.figure.Figure` instance. - - *args* is the tuple (*numRows*, *numCols*, *plotNum*), where - the array of subplots in the figure has dimensions *numRows*, - *numCols*, and where *plotNum* is the number of the subplot - being created. *plotNum* starts at 1 in the upper left - corner and increases to the right. - - - If *numRows* <= *numCols* <= *plotNum* < 10, *args* can be the - decimal integer *numRows* * 100 + *numCols* * 10 + *plotNum*. - """ - - self.figure = fig - - if len(args) == 1: - if isinstance(args[0], SubplotSpec): - self._subplotspec = args[0] - else: - try: - s = str(int(args[0])) - rows, cols, num = map(int, s) - except ValueError: - raise ValueError( - 'Single argument to subplot must be a 3-digit ' - 'integer') - self._subplotspec = GridSpec(rows, cols)[num - 1] - # num - 1 for converting from MATLAB to python indexing - elif len(args) == 3: - rows, cols, num = args - rows = int(rows) - cols = int(cols) - if isinstance(num, tuple) and len(num) == 2: - num = [int(n) for n in num] - self._subplotspec = GridSpec(rows, cols)[num[0] - 1:num[1]] - else: - self._subplotspec = GridSpec(rows, cols)[int(num) - 1] - # num - 1 for converting from MATLAB to python indexing - else: - raise ValueError('Illegal argument(s) to subplot: %s' % (args,)) - - self.update_params() - - # _axes_class is set in the subplot_class_factory - self._axes_class.__init__(self, fig, self.figbox, **kwargs) - - def __reduce__(self): - # get the first axes class which does not inherit from a subplotbase - not_subplotbase = lambda c: issubclass(c, Axes) and \ - not issubclass(c, SubplotBase) - axes_class = [c for c in self.__class__.mro() if not_subplotbase(c)][0] - r = [_PicklableSubplotClassConstructor(), - (axes_class,), - self.__getstate__()] - return tuple(r) - - def get_geometry(self): - """get the subplot geometry, eg 2,2,3""" - rows, cols, num1, num2 = self.get_subplotspec().get_geometry() - return rows, cols, num1 + 1 # for compatibility - - # COVERAGE NOTE: Never used internally or from examples - def change_geometry(self, numrows, numcols, num): - """change subplot geometry, e.g., from 1,1,1 to 2,2,3""" - self._subplotspec = GridSpec(numrows, numcols)[num - 1] - self.update_params() - self.set_position(self.figbox) - - def get_subplotspec(self): - """get the SubplotSpec instance associated with the subplot""" - return self._subplotspec - - def set_subplotspec(self, subplotspec): - """set the SubplotSpec instance associated with the subplot""" - self._subplotspec = subplotspec - - def update_params(self): - """update the subplot position from fig.subplotpars""" - - self.figbox, self.rowNum, self.colNum, self.numRows, self.numCols = \ - self.get_subplotspec().get_position(self.figure, - return_all=True) - - def is_first_col(self): - return self.colNum == 0 - - def is_first_row(self): - return self.rowNum == 0 - - def is_last_row(self): - return self.rowNum == self.numRows - 1 - - def is_last_col(self): - return self.colNum == self.numCols - 1 - - # COVERAGE NOTE: Never used internally or from examples - def label_outer(self): - """ - set the visible property on ticklabels so xticklabels are - visible only if the subplot is in the last row and yticklabels - are visible only if the subplot is in the first column - """ - lastrow = self.is_last_row() - firstcol = self.is_first_col() - for label in self.get_xticklabels(): - label.set_visible(lastrow) - - for label in self.get_yticklabels(): - label.set_visible(firstcol) - - def _make_twin_axes(self, *kl, **kwargs): - """ - make a twinx axes of self. This is used for twinx and twiny. - """ - from matplotlib.projections import process_projection_requirements - kl = (self.get_subplotspec(),) + kl - projection_class, kwargs, key = process_projection_requirements( - self.figure, *kl, **kwargs) - - ax2 = subplot_class_factory(projection_class)(self.figure, - *kl, **kwargs) - self.figure.add_subplot(ax2) - return ax2 - -_subplot_classes = {} - - -def subplot_class_factory(axes_class=None): - # This makes a new class that inherits from SubplotBase and the - # given axes_class (which is assumed to be a subclass of Axes). - # This is perhaps a little bit roundabout to make a new class on - # the fly like this, but it means that a new Subplot class does - # not have to be created for every type of Axes. - if axes_class is None: - axes_class = Axes - - new_class = _subplot_classes.get(axes_class) - if new_class is None: - new_class = type("%sSubplot" % (axes_class.__name__), - (SubplotBase, axes_class), - {'_axes_class': axes_class}) - _subplot_classes[axes_class] = new_class - - return new_class - -# This is provided for backward compatibility -Subplot = subplot_class_factory() - - -class _PicklableSubplotClassConstructor(object): - """ - This stub class exists to return the appropriate subplot - class when __call__-ed with an axes class. This is purely to - allow Pickling of Axes and Subplots. - """ - def __call__(self, axes_class): - # create a dummy object instance - subplot_instance = _PicklableSubplotClassConstructor() - subplot_class = subplot_class_factory(axes_class) - # update the class to the desired subplot class - subplot_instance.__class__ = subplot_class - return subplot_instance - - -docstring.interpd.update(Axes=martist.kwdoc(Axes)) -docstring.interpd.update(Subplot=martist.kwdoc(Axes)) - -""" -# this is some discarded code I was using to find the minimum positive -# data point for some log scaling fixes. I realized there was a -# cleaner way to do it, but am keeping this around as an example for -# how to get the data out of the axes. Might want to make something -# like this a method one day, or better yet make get_verts an Artist -# method - - minx, maxx = self.get_xlim() - if minx<=0 or maxx<=0: - # find the min pos value in the data - xs = [] - for line in self.lines: - xs.extend(line.get_xdata(orig=False)) - for patch in self.patches: - xs.extend([x for x,y in patch.get_verts()]) - for collection in self.collections: - xs.extend([x for x,y in collection.get_verts()]) - posx = [x for x in xs if x>0] - if len(posx): - - minx = min(posx) - maxx = max(posx) - # warning, probably breaks inverted axis - self.set_xlim((0.1*minx, maxx)) - -""" diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py new file mode 100644 index 000000000000..b4cead3ad71d --- /dev/null +++ b/lib/matplotlib/axes/_base.py @@ -0,0 +1,3130 @@ +import itertools +import warnings +import math +from operator import itemgetter + +import numpy as np +from numpy import ma + +import matplotlib +rcParams = matplotlib.rcParams + +from matplotlib import cbook +from matplotlib import docstring +import matplotlib.colors as mcolors +import matplotlib.lines as mlines +import matplotlib.patches as mpatches +import matplotlib.artist as martist +import matplotlib.transforms as mtransforms +import matplotlib.axis as maxis +import matplotlib.scale as mscale +import matplotlib.spines as mspines +import matplotlib.font_manager as font_manager +import matplotlib.text as mtext +import matplotlib.image as mimage +from matplotlib.artist import allow_rasterization + + +from matplotlib.cbook import iterable + + +is_string_like = cbook.is_string_like +is_sequence_of_strings = cbook.is_sequence_of_strings + + +def _string_to_bool(s): + if not is_string_like(s): + return s + if s == 'on': + return True + if s == 'off': + return False + raise ValueError("string argument must be either 'on' or 'off'") + + +def _process_plot_format(fmt): + """ + Process a MATLAB style color/line style format string. Return a + (*linestyle*, *color*) tuple as a result of the processing. Default + values are ('-', 'b'). Example format strings include: + + * 'ko': black circles + * '.b': blue dots + * 'r--': red dashed lines + + .. seealso:: + + :func:`~matplotlib.Line2D.lineStyles` and + :func:`~matplotlib.pyplot.colors` + for all possible styles and color format string. + """ + + linestyle = None + marker = None + color = None + + # Is fmt just a colorspec? + try: + color = mcolors.colorConverter.to_rgb(fmt) + + # We need to differentiate grayscale '1.0' from tri_down marker '1' + try: + fmtint = str(int(fmt)) + except ValueError: + return linestyle, marker, color # Yes + else: + if fmt != fmtint: + # user definitely doesn't want tri_down marker + return linestyle, marker, color # Yes + else: + # ignore converted color + color = None + except ValueError: + pass # No, not just a color. + + # handle the multi char special cases and strip them from the + # string + if fmt.find('--') >= 0: + linestyle = '--' + fmt = fmt.replace('--', '') + if fmt.find('-.') >= 0: + linestyle = '-.' + fmt = fmt.replace('-.', '') + if fmt.find(' ') >= 0: + linestyle = 'None' + fmt = fmt.replace(' ', '') + + chars = [c for c in fmt] + + for c in chars: + if c in mlines.lineStyles: + if linestyle is not None: + raise ValueError( + 'Illegal format string "%s"; two linestyle symbols' % fmt) + linestyle = c + elif c in mlines.lineMarkers: + if marker is not None: + raise ValueError( + 'Illegal format string "%s"; two marker symbols' % fmt) + marker = c + elif c in mcolors.colorConverter.colors: + if color is not None: + raise ValueError( + 'Illegal format string "%s"; two color symbols' % fmt) + color = c + else: + raise ValueError( + 'Unrecognized character %c in format string' % c) + + if linestyle is None and marker is None: + linestyle = rcParams['lines.linestyle'] + if linestyle is None: + linestyle = 'None' + if marker is None: + marker = 'None' + + return linestyle, marker, color + + +class _process_plot_var_args(object): + """ + Process variable length arguments to the plot command, so that + plot commands like the following are supported:: + + plot(t, s) + plot(t1, s1, t2, s2) + plot(t1, s1, 'ko', t2, s2) + plot(t1, s1, 'ko', t2, s2, 'r--', t3, e3) + + an arbitrary number of *x*, *y*, *fmt* are allowed + """ + def __init__(self, axes, command='plot'): + self.axes = axes + self.command = command + self.set_color_cycle() + + def __getstate__(self): + # note: it is not possible to pickle a itertools.cycle instance + return {'axes': self.axes, 'command': self.command} + + def __setstate__(self, state): + self.__dict__ = state.copy() + self.set_color_cycle() + + def set_color_cycle(self, clist=None): + if clist is None: + clist = rcParams['axes.color_cycle'] + self.color_cycle = itertools.cycle(clist) + + def __call__(self, *args, **kwargs): + + if self.axes.xaxis is not None and self.axes.yaxis is not None: + xunits = kwargs.pop('xunits', self.axes.xaxis.units) + + if self.axes.name == 'polar': + xunits = kwargs.pop('thetaunits', xunits) + + yunits = kwargs.pop('yunits', self.axes.yaxis.units) + + if self.axes.name == 'polar': + yunits = kwargs.pop('runits', yunits) + + if xunits != self.axes.xaxis.units: + self.axes.xaxis.set_units(xunits) + + if yunits != self.axes.yaxis.units: + self.axes.yaxis.set_units(yunits) + + ret = self._grab_next_args(*args, **kwargs) + return ret + + def set_lineprops(self, line, **kwargs): + assert self.command == 'plot', 'set_lineprops only works with "plot"' + for key, val in kwargs.items(): + funcName = "set_%s" % key + if not hasattr(line, funcName): + raise TypeError('There is no line property "%s"' % key) + func = getattr(line, funcName) + func(val) + + def set_patchprops(self, fill_poly, **kwargs): + assert self.command == 'fill', 'set_patchprops only works with "fill"' + for key, val in kwargs.items(): + funcName = "set_%s" % key + if not hasattr(fill_poly, funcName): + raise TypeError('There is no patch property "%s"' % key) + func = getattr(fill_poly, funcName) + func(val) + + def _xy_from_xy(self, x, y): + if self.axes.xaxis is not None and self.axes.yaxis is not None: + bx = self.axes.xaxis.update_units(x) + by = self.axes.yaxis.update_units(y) + + if self.command != 'plot': + # the Line2D class can handle unitized data, with + # support for post hoc unit changes etc. Other mpl + # artists, eg Polygon which _process_plot_var_args + # also serves on calls to fill, cannot. So this is a + # hack to say: if you are not "plot", which is + # creating Line2D, then convert the data now to + # floats. If you are plot, pass the raw data through + # to Line2D which will handle the conversion. So + # polygons will not support post hoc conversions of + # the unit type since they are not storing the orig + # data. Hopefully we can rationalize this at a later + # date - JDH + if bx: + x = self.axes.convert_xunits(x) + if by: + y = self.axes.convert_yunits(y) + + x = np.atleast_1d(x) # like asanyarray, but converts scalar to array + y = np.atleast_1d(y) + if x.shape[0] != y.shape[0]: + raise ValueError("x and y must have same first dimension") + if x.ndim > 2 or y.ndim > 2: + raise ValueError("x and y can be no greater than 2-D") + + if x.ndim == 1: + x = x[:, np.newaxis] + if y.ndim == 1: + y = y[:, np.newaxis] + return x, y + + def _makeline(self, x, y, kw, kwargs): + kw = kw.copy() # Don't modify the original kw. + if not 'color' in kw and not 'color' in kwargs.keys(): + kw['color'] = self.color_cycle.next() + # (can't use setdefault because it always evaluates + # its second argument) + seg = mlines.Line2D(x, y, + axes=self.axes, + **kw + ) + self.set_lineprops(seg, **kwargs) + return seg + + def _makefill(self, x, y, kw, kwargs): + try: + facecolor = kw['color'] + except KeyError: + facecolor = self.color_cycle.next() + seg = mpatches.Polygon(np.hstack((x[:, np.newaxis], + y[:, np.newaxis])), + facecolor=facecolor, + fill=True, + closed=kw['closed']) + self.set_patchprops(seg, **kwargs) + return seg + + def _plot_args(self, tup, kwargs): + ret = [] + if len(tup) > 1 and is_string_like(tup[-1]): + linestyle, marker, color = _process_plot_format(tup[-1]) + tup = tup[:-1] + elif len(tup) == 3: + raise ValueError('third arg must be a format string') + else: + linestyle, marker, color = None, None, None + kw = {} + for k, v in zip(('linestyle', 'marker', 'color'), + (linestyle, marker, color)): + if v is not None: + kw[k] = v + + y = np.atleast_1d(tup[-1]) + + if len(tup) == 2: + x = np.atleast_1d(tup[0]) + else: + x = np.arange(y.shape[0], dtype=float) + + x, y = self._xy_from_xy(x, y) + + if self.command == 'plot': + func = self._makeline + else: + kw['closed'] = kwargs.get('closed', True) + func = self._makefill + + ncx, ncy = x.shape[1], y.shape[1] + for j in xrange(max(ncx, ncy)): + seg = func(x[:, j % ncx], y[:, j % ncy], kw, kwargs) + ret.append(seg) + return ret + + def _grab_next_args(self, *args, **kwargs): + + remaining = args + while 1: + + if len(remaining) == 0: + return + if len(remaining) <= 3: + for seg in self._plot_args(remaining, kwargs): + yield seg + return + + if is_string_like(remaining[2]): + isplit = 3 + else: + isplit = 2 + + for seg in self._plot_args(remaining[:isplit], kwargs): + yield seg + remaining = remaining[isplit:] + + +class _AxesBase(martist.Artist): + """ + """ + name = "rectilinear" + + _shared_x_axes = cbook.Grouper() + _shared_y_axes = cbook.Grouper() + + def __str__(self): + return "Axes(%g,%g;%gx%g)" % tuple(self._position.bounds) + + def __init__(self, fig, rect, + axisbg=None, # defaults to rc axes.facecolor + frameon=True, + sharex=None, # use Axes instance's xaxis info + sharey=None, # use Axes instance's yaxis info + label='', + xscale=None, + yscale=None, + **kwargs + ): + """ + Build an :class:`Axes` instance in + :class:`~matplotlib.figure.Figure` *fig* with + *rect=[left, bottom, width, height]* in + :class:`~matplotlib.figure.Figure` coordinates + + Optional keyword arguments: + + ================ ========================================= + Keyword Description + ================ ========================================= + *adjustable* [ 'box' | 'datalim' | 'box-forced'] + *alpha* float: the alpha transparency (can be None) + *anchor* [ 'C', 'SW', 'S', 'SE', 'E', 'NE', 'N', + 'NW', 'W' ] + *aspect* [ 'auto' | 'equal' | aspect_ratio ] + *autoscale_on* [ *True* | *False* ] whether or not to + autoscale the *viewlim* + *axis_bgcolor* any matplotlib color, see + :func:`~matplotlib.pyplot.colors` + *axisbelow* draw the grids and ticks below the other + artists + *cursor_props* a (*float*, *color*) tuple + *figure* a :class:`~matplotlib.figure.Figure` + instance + *frame_on* a boolean - draw the axes frame + *label* the axes label + *navigate* [ *True* | *False* ] + *navigate_mode* [ 'PAN' | 'ZOOM' | None ] the navigation + toolbar button status + *position* [left, bottom, width, height] in + class:`~matplotlib.figure.Figure` coords + *sharex* an class:`~matplotlib.axes.Axes` instance + to share the x-axis with + *sharey* an class:`~matplotlib.axes.Axes` instance + to share the y-axis with + *title* the title string + *visible* [ *True* | *False* ] whether the axes is + visible + *xlabel* the xlabel + *xlim* (*xmin*, *xmax*) view limits + *xscale* [%(scale)s] + *xticklabels* sequence of strings + *xticks* sequence of floats + *ylabel* the ylabel strings + *ylim* (*ymin*, *ymax*) view limits + *yscale* [%(scale)s] + *yticklabels* sequence of strings + *yticks* sequence of floats + ================ ========================================= + """ % {'scale': ' | '.join( + [repr(x) for x in mscale.get_scale_names()])} + martist.Artist.__init__(self) + if isinstance(rect, mtransforms.Bbox): + self._position = rect + else: + self._position = mtransforms.Bbox.from_bounds(*rect) + self._originalPosition = self._position.frozen() + self.set_axes(self) + self.set_aspect('auto') + self._adjustable = 'box' + self.set_anchor('C') + self._sharex = sharex + self._sharey = sharey + if sharex is not None: + self._shared_x_axes.join(self, sharex) + if sharex._adjustable == 'box': + sharex._adjustable = 'datalim' + #warnings.warn( + # 'shared axes: "adjustable" is being changed to "datalim"') + self._adjustable = 'datalim' + if sharey is not None: + self._shared_y_axes.join(self, sharey) + if sharey._adjustable == 'box': + sharey._adjustable = 'datalim' + #warnings.warn( + # 'shared axes: "adjustable" is being changed to "datalim"') + self._adjustable = 'datalim' + self.set_label(label) + self.set_figure(fig) + + self.set_axes_locator(kwargs.get("axes_locator", None)) + + self.spines = self._gen_axes_spines() + + # this call may differ for non-sep axes, eg polar + self._init_axis() + + if axisbg is None: + axisbg = rcParams['axes.facecolor'] + self._axisbg = axisbg + self._frameon = frameon + self._axisbelow = rcParams['axes.axisbelow'] + + self._rasterization_zorder = None + + self._hold = rcParams['axes.hold'] + self._connected = {} # a dict from events to (id, func) + self.cla() + # funcs used to format x and y - fall back on major formatters + self.fmt_xdata = None + self.fmt_ydata = None + + self.set_cursor_props((1, 'k')) # set the cursor properties for axes + + self._cachedRenderer = None + self.set_navigate(True) + self.set_navigate_mode(None) + + if xscale: + self.set_xscale(xscale) + if yscale: + self.set_yscale(yscale) + + if len(kwargs): + martist.setp(self, **kwargs) + + if self.xaxis is not None: + self._xcid = self.xaxis.callbacks.connect('units finalize', + self.relim) + + if self.yaxis is not None: + self._ycid = self.yaxis.callbacks.connect('units finalize', + self.relim) + + def __setstate__(self, state): + self.__dict__ = state + # put the _remove_method back on all artists contained within the axes + for container_name in ['lines', 'collections', 'tables', 'patches', + 'texts', 'images']: + container = getattr(self, container_name) + for artist in container: + artist._remove_method = container.remove + + def get_window_extent(self, *args, **kwargs): + """ + get the axes bounding box in display space; *args* and + *kwargs* are empty + """ + return self.bbox + + def _init_axis(self): + "move this out of __init__ because non-separable axes don't use it" + self.xaxis = maxis.XAxis(self) + self.spines['bottom'].register_axis(self.xaxis) + self.spines['top'].register_axis(self.xaxis) + self.yaxis = maxis.YAxis(self) + self.spines['left'].register_axis(self.yaxis) + self.spines['right'].register_axis(self.yaxis) + self._update_transScale() + + def set_figure(self, fig): + """ + Set the class:`~matplotlib.axes.Axes` figure + + accepts a class:`~matplotlib.figure.Figure` instance + """ + martist.Artist.set_figure(self, fig) + + self.bbox = mtransforms.TransformedBbox(self._position, + fig.transFigure) + # these will be updated later as data is added + self.dataLim = mtransforms.Bbox.null() + self.viewLim = mtransforms.Bbox.unit() + self.transScale = mtransforms.TransformWrapper( + mtransforms.IdentityTransform()) + + self._set_lim_and_transforms() + + def _set_lim_and_transforms(self): + """ + set the *dataLim* and *viewLim* + :class:`~matplotlib.transforms.Bbox` attributes and the + *transScale*, *transData*, *transLimits* and *transAxes* + transformations. + + .. note:: + + This method is primarily used by rectilinear projections + of the :class:`~matplotlib.axes.Axes` class, and is meant + to be overridden by new kinds of projection axes that need + different transformations and limits. (See + :class:`~matplotlib.projections.polar.PolarAxes` for an + example. + + """ + self.transAxes = mtransforms.BboxTransformTo(self.bbox) + + # Transforms the x and y axis separately by a scale factor. + # It is assumed that this part will have non-linear components + # (e.g., for a log scale). + self.transScale = mtransforms.TransformWrapper( + mtransforms.IdentityTransform()) + + # An affine transformation on the data, generally to limit the + # range of the axes + self.transLimits = mtransforms.BboxTransformFrom( + mtransforms.TransformedBbox(self.viewLim, self.transScale)) + + # The parentheses are important for efficiency here -- they + # group the last two (which are usually affines) separately + # from the first (which, with log-scaling can be non-affine). + self.transData = self.transScale + (self.transLimits + self.transAxes) + + self._xaxis_transform = mtransforms.blended_transform_factory( + self.transData, self.transAxes) + self._yaxis_transform = mtransforms.blended_transform_factory( + self.transAxes, self.transData) + + def get_xaxis_transform(self, which='grid'): + """ + Get the transformation used for drawing x-axis labels, ticks + and gridlines. The x-direction is in data coordinates and the + y-direction is in axis coordinates. + + .. note:: + + This transformation is primarily used by the + :class:`~matplotlib.axis.Axis` class, and is meant to be + overridden by new kinds of projections that may need to + place axis elements in different locations. + + """ + if which == 'grid': + return self._xaxis_transform + elif which == 'tick1': + # for cartesian projection, this is bottom spine + return self.spines['bottom'].get_spine_transform() + elif which == 'tick2': + # for cartesian projection, this is top spine + return self.spines['top'].get_spine_transform() + else: + raise ValueError('unknown value for which') + + def get_xaxis_text1_transform(self, pad_points): + """ + Get the transformation used for drawing x-axis labels, which + will add the given amount of padding (in points) between the + axes and the label. The x-direction is in data coordinates + and the y-direction is in axis coordinates. Returns a + 3-tuple of the form:: + + (transform, valign, halign) + + where *valign* and *halign* are requested alignments for the + text. + + .. note:: + + This transformation is primarily used by the + :class:`~matplotlib.axis.Axis` class, and is meant to be + overridden by new kinds of projections that may need to + place axis elements in different locations. + + """ + return (self.get_xaxis_transform(which='tick1') + + mtransforms.ScaledTranslation(0, -1 * pad_points / 72.0, + self.figure.dpi_scale_trans), + "top", "center") + + def get_xaxis_text2_transform(self, pad_points): + """ + Get the transformation used for drawing the secondary x-axis + labels, which will add the given amount of padding (in points) + between the axes and the label. The x-direction is in data + coordinates and the y-direction is in axis coordinates. + Returns a 3-tuple of the form:: + + (transform, valign, halign) + + where *valign* and *halign* are requested alignments for the + text. + + .. note:: + + This transformation is primarily used by the + :class:`~matplotlib.axis.Axis` class, and is meant to be + overridden by new kinds of projections that may need to + place axis elements in different locations. + + """ + return (self.get_xaxis_transform(which='tick2') + + mtransforms.ScaledTranslation(0, pad_points / 72.0, + self.figure.dpi_scale_trans), + "bottom", "center") + + def get_yaxis_transform(self, which='grid'): + """ + Get the transformation used for drawing y-axis labels, ticks + and gridlines. The x-direction is in axis coordinates and the + y-direction is in data coordinates. + + .. note:: + + This transformation is primarily used by the + :class:`~matplotlib.axis.Axis` class, and is meant to be + overridden by new kinds of projections that may need to + place axis elements in different locations. + + """ + if which == 'grid': + return self._yaxis_transform + elif which == 'tick1': + # for cartesian projection, this is bottom spine + return self.spines['left'].get_spine_transform() + elif which == 'tick2': + # for cartesian projection, this is top spine + return self.spines['right'].get_spine_transform() + else: + raise ValueError('unknown value for which') + + def get_yaxis_text1_transform(self, pad_points): + """ + Get the transformation used for drawing y-axis labels, which + will add the given amount of padding (in points) between the + axes and the label. The x-direction is in axis coordinates + and the y-direction is in data coordinates. Returns a 3-tuple + of the form:: + + (transform, valign, halign) + + where *valign* and *halign* are requested alignments for the + text. + + .. note:: + + This transformation is primarily used by the + :class:`~matplotlib.axis.Axis` class, and is meant to be + overridden by new kinds of projections that may need to + place axis elements in different locations. + + """ + return (self.get_yaxis_transform(which='tick1') + + mtransforms.ScaledTranslation(-1 * pad_points / 72.0, 0, + self.figure.dpi_scale_trans), + "center", "right") + + def get_yaxis_text2_transform(self, pad_points): + """ + Get the transformation used for drawing the secondary y-axis + labels, which will add the given amount of padding (in points) + between the axes and the label. The x-direction is in axis + coordinates and the y-direction is in data coordinates. + Returns a 3-tuple of the form:: + + (transform, valign, halign) + + where *valign* and *halign* are requested alignments for the + text. + + .. note:: + + This transformation is primarily used by the + :class:`~matplotlib.axis.Axis` class, and is meant to be + overridden by new kinds of projections that may need to + place axis elements in different locations. + + """ + return (self.get_yaxis_transform(which='tick2') + + mtransforms.ScaledTranslation(pad_points / 72.0, 0, + self.figure.dpi_scale_trans), + "center", "left") + + def _update_transScale(self): + self.transScale.set( + mtransforms.blended_transform_factory( + self.xaxis.get_transform(), self.yaxis.get_transform())) + if hasattr(self, "lines"): + for line in self.lines: + try: + line._transformed_path.invalidate() + except AttributeError: + pass + + def get_position(self, original=False): + 'Return the a copy of the axes rectangle as a Bbox' + if original: + return self._originalPosition.frozen() + else: + return self._position.frozen() + + def set_position(self, pos, which='both'): + """ + Set the axes position with:: + + pos = [left, bottom, width, height] + + in relative 0,1 coords, or *pos* can be a + :class:`~matplotlib.transforms.Bbox` + + There are two position variables: one which is ultimately + used, but which may be modified by :meth:`apply_aspect`, and a + second which is the starting point for :meth:`apply_aspect`. + + + Optional keyword arguments: + *which* + + ========== ==================== + value description + ========== ==================== + 'active' to change the first + 'original' to change the second + 'both' to change both + ========== ==================== + + """ + if not isinstance(pos, mtransforms.BboxBase): + pos = mtransforms.Bbox.from_bounds(*pos) + if which in ('both', 'active'): + self._position.set(pos) + if which in ('both', 'original'): + self._originalPosition.set(pos) + + def reset_position(self): + """Make the original position the active position""" + pos = self.get_position(original=True) + self.set_position(pos, which='active') + + def set_axes_locator(self, locator): + """ + set axes_locator + + ACCEPT: a callable object which takes an axes instance and renderer and + returns a bbox. + """ + self._axes_locator = locator + + def get_axes_locator(self): + """ + return axes_locator + """ + return self._axes_locator + + def _set_artist_props(self, a): + """set the boilerplate props for artists added to axes""" + a.set_figure(self.figure) + if not a.is_transform_set(): + a.set_transform(self.transData) + + a.set_axes(self) + + def _gen_axes_patch(self): + """ + Returns the patch used to draw the background of the axes. It + is also used as the clipping path for any data elements on the + axes. + + In the standard axes, this is a rectangle, but in other + projections it may not be. + + .. note:: + + Intended to be overridden by new projection types. + + """ + return mpatches.Rectangle((0.0, 0.0), 1.0, 1.0) + + def _gen_axes_spines(self, locations=None, offset=0.0, units='inches'): + """ + Returns a dict whose keys are spine names and values are + Line2D or Patch instances. Each element is used to draw a + spine of the axes. + + In the standard axes, this is a single line segment, but in + other projections it may not be. + + .. note:: + + Intended to be overridden by new projection types. + + """ + return { + 'left': mspines.Spine.linear_spine(self, 'left'), + 'right': mspines.Spine.linear_spine(self, 'right'), + 'bottom': mspines.Spine.linear_spine(self, 'bottom'), + 'top': mspines.Spine.linear_spine(self, 'top'), } + + def cla(self): + """Clear the current axes.""" + # Note: this is called by Axes.__init__() + self.xaxis.cla() + self.yaxis.cla() + for name, spine in self.spines.iteritems(): + spine.cla() + + self.ignore_existing_data_limits = True + self.callbacks = cbook.CallbackRegistry() + + if self._sharex is not None: + # major and minor are class instances with + # locator and formatter attributes + self.xaxis.major = self._sharex.xaxis.major + self.xaxis.minor = self._sharex.xaxis.minor + x0, x1 = self._sharex.get_xlim() + self.set_xlim(x0, x1, emit=False, auto=None) + + # Save the current formatter/locator so we don't lose it + majf = self._sharex.xaxis.get_major_formatter() + minf = self._sharex.xaxis.get_minor_formatter() + majl = self._sharex.xaxis.get_major_locator() + minl = self._sharex.xaxis.get_minor_locator() + + # This overwrites the current formatter/locator + self.xaxis._set_scale(self._sharex.xaxis.get_scale()) + + # Reset the formatter/locator + self.xaxis.set_major_formatter(majf) + self.xaxis.set_minor_formatter(minf) + self.xaxis.set_major_locator(majl) + self.xaxis.set_minor_locator(minl) + else: + self.xaxis._set_scale('linear') + + if self._sharey is not None: + self.yaxis.major = self._sharey.yaxis.major + self.yaxis.minor = self._sharey.yaxis.minor + y0, y1 = self._sharey.get_ylim() + self.set_ylim(y0, y1, emit=False, auto=None) + + # Save the current formatter/locator so we don't lose it + majf = self._sharey.yaxis.get_major_formatter() + minf = self._sharey.yaxis.get_minor_formatter() + majl = self._sharey.yaxis.get_major_locator() + minl = self._sharey.yaxis.get_minor_locator() + + # This overwrites the current formatter/locator + self.yaxis._set_scale(self._sharey.yaxis.get_scale()) + + # Reset the formatter/locator + self.yaxis.set_major_formatter(majf) + self.yaxis.set_minor_formatter(minf) + self.yaxis.set_major_locator(majl) + self.yaxis.set_minor_locator(minl) + else: + self.yaxis._set_scale('linear') + + self._autoscaleXon = True + self._autoscaleYon = True + self._xmargin = rcParams['axes.xmargin'] + self._ymargin = rcParams['axes.ymargin'] + self._tight = False + self._update_transScale() # needed? + + self._get_lines = _process_plot_var_args(self) + self._get_patches_for_fill = _process_plot_var_args(self, 'fill') + + self._gridOn = rcParams['axes.grid'] + self.lines = [] + self.patches = [] + self.texts = [] + self.tables = [] + self.artists = [] + self.images = [] + self._current_image = None # strictly for pyplot via _sci, _gci + self.legend_ = None + self.collections = [] # collection.Collection instances + self.containers = [] + + self.grid(self._gridOn) + props = font_manager.FontProperties(size=rcParams['axes.titlesize']) + + self.titleOffsetTrans = mtransforms.ScaledTranslation( + 0.0, 5.0 / 72.0, self.figure.dpi_scale_trans) + self.title = mtext.Text( + x=0.5, y=1.0, text='', + fontproperties=props, + verticalalignment='baseline', + horizontalalignment='center', + ) + self._left_title = mtext.Text( + x=0.0, y=1.0, text='', + fontproperties=props, + verticalalignment='baseline', + horizontalalignment='left', ) + self._right_title = mtext.Text( + x=1.0, y=1.0, text='', + fontproperties=props, + verticalalignment='baseline', + horizontalalignment='right', + ) + + for _title in (self.title, self._left_title, self._right_title): + _title.set_transform(self.transAxes + self.titleOffsetTrans) + _title.set_clip_box(None) + self._set_artist_props(_title) + + # the patch draws the background of the axes. we want this to + # be below the other artists; the axesPatch name is + # deprecated. We use the frame to draw the edges so we are + # setting the edgecolor to None + self.patch = self.axesPatch = self._gen_axes_patch() + self.patch.set_figure(self.figure) + self.patch.set_facecolor(self._axisbg) + self.patch.set_edgecolor('None') + self.patch.set_linewidth(0) + self.patch.set_transform(self.transAxes) + + self.axison = True + + self.xaxis.set_clip_path(self.patch) + self.yaxis.set_clip_path(self.patch) + + self._shared_x_axes.clean() + self._shared_y_axes.clean() + + def clear(self): + """clear the axes""" + self.cla() + + def set_color_cycle(self, clist): + """ + Set the color cycle for any future plot commands on this Axes. + + *clist* is a list of mpl color specifiers. + """ + self._get_lines.set_color_cycle(clist) + self._get_patches_for_fill.set_color_cycle(clist) + + def ishold(self): + """return the HOLD status of the axes""" + return self._hold + + def hold(self, b=None): + """ + Call signature:: + + hold(b=None) + + Set the hold state. If *hold* is *None* (default), toggle the + *hold* state. Else set the *hold* state to boolean value *b*. + + Examples:: + + # toggle hold + hold() + + # turn hold on + hold(True) + + # turn hold off + hold(False) + + When hold is *True*, subsequent plot commands will be added to + the current axes. When hold is *False*, the current axes and + figure will be cleared on the next plot command + + """ + if b is None: + self._hold = not self._hold + else: + self._hold = b + + def get_aspect(self): + return self._aspect + + def set_aspect(self, aspect, adjustable=None, anchor=None): + """ + *aspect* + + ======== ================================================ + value description + ======== ================================================ + 'auto' automatic; fill position rectangle with data + 'normal' same as 'auto'; deprecated + 'equal' same scaling from data to plot units for x and y + num a circle will be stretched such that the height + is num times the width. aspect=1 is the same as + aspect='equal'. + ======== ================================================ + + *adjustable* + + ============ ===================================== + value description + ============ ===================================== + 'box' change physical size of axes + 'datalim' change xlim or ylim + 'box-forced' same as 'box', but axes can be shared + ============ ===================================== + + 'box' does not allow axes sharing, as this can cause + unintended side effect. For cases when sharing axes is + fine, use 'box-forced'. + + *anchor* + + ===== ===================== + value description + ===== ===================== + 'C' centered + 'SW' lower left corner + 'S' middle of bottom edge + 'SE' lower right corner + etc. + ===== ===================== + + .. deprecated:: 1.2 + the option 'normal' for aspect is deprecated. Use 'auto' instead. + """ + if aspect == 'normal': + cbook.warn_deprecated( + '1.2', name='normal', alternative='auto', obj_type='aspect') + self._aspect = 'auto' + + elif aspect in ('equal', 'auto'): + self._aspect = aspect + else: + self._aspect = float(aspect) # raise ValueError if necessary + + if adjustable is not None: + self.set_adjustable(adjustable) + if anchor is not None: + self.set_anchor(anchor) + + def get_adjustable(self): + return self._adjustable + + def set_adjustable(self, adjustable): + """ + ACCEPTS: [ 'box' | 'datalim' | 'box-forced'] + """ + if adjustable in ('box', 'datalim', 'box-forced'): + if self in self._shared_x_axes or self in self._shared_y_axes: + if adjustable == 'box': + raise ValueError( + 'adjustable must be "datalim" for shared axes') + self._adjustable = adjustable + else: + raise ValueError('argument must be "box", or "datalim"') + + def get_anchor(self): + return self._anchor + + def set_anchor(self, anchor): + """ + *anchor* + + ===== ============ + value description + ===== ============ + 'C' Center + 'SW' bottom left + 'S' bottom + 'SE' bottom right + 'E' right + 'NE' top right + 'N' top + 'NW' top left + 'W' left + ===== ============ + + """ + if anchor in mtransforms.Bbox.coefs.keys() or len(anchor) == 2: + self._anchor = anchor + else: + raise ValueError('argument must be among %s' % + ', '.join(mtransforms.Bbox.coefs.keys())) + + def get_data_ratio(self): + """ + Returns the aspect ratio of the raw data. + + This method is intended to be overridden by new projection + types. + """ + xmin, xmax = self.get_xbound() + ymin, ymax = self.get_ybound() + + xsize = max(math.fabs(xmax - xmin), 1e-30) + ysize = max(math.fabs(ymax - ymin), 1e-30) + + return ysize / xsize + + def get_data_ratio_log(self): + """ + Returns the aspect ratio of the raw data in log scale. + Will be used when both axis scales are in log. + """ + xmin, xmax = self.get_xbound() + ymin, ymax = self.get_ybound() + + xsize = max(math.fabs(math.log10(xmax) - math.log10(xmin)), 1e-30) + ysize = max(math.fabs(math.log10(ymax) - math.log10(ymin)), 1e-30) + + return ysize / xsize + + def apply_aspect(self, position=None): + """ + Use :meth:`_aspect` and :meth:`_adjustable` to modify the + axes box or the view limits. + """ + if position is None: + position = self.get_position(original=True) + + aspect = self.get_aspect() + + if self.name != 'polar': + xscale, yscale = self.get_xscale(), self.get_yscale() + if xscale == "linear" and yscale == "linear": + aspect_scale_mode = "linear" + elif xscale == "log" and yscale == "log": + aspect_scale_mode = "log" + elif ((xscale == "linear" and yscale == "log") or + (xscale == "log" and yscale == "linear")): + if aspect is not "auto": + warnings.warn( + 'aspect is not supported for Axes with xscale=%s, ' + 'yscale=%s' % (xscale, yscale)) + aspect = "auto" + else: # some custom projections have their own scales. + pass + else: + aspect_scale_mode = "linear" + + if aspect == 'auto': + self.set_position(position, which='active') + return + + if aspect == 'equal': + A = 1 + else: + A = aspect + + #Ensure at drawing time that any Axes involved in axis-sharing + # does not have its position changed. + if self in self._shared_x_axes or self in self._shared_y_axes: + if self._adjustable == 'box': + self._adjustable = 'datalim' + warnings.warn( + 'shared axes: "adjustable" is being changed to "datalim"') + + figW, figH = self.get_figure().get_size_inches() + fig_aspect = figH / figW + if self._adjustable in ['box', 'box-forced']: + if aspect_scale_mode == "log": + box_aspect = A * self.get_data_ratio_log() + else: + box_aspect = A * self.get_data_ratio() + pb = position.frozen() + pb1 = pb.shrunk_to_aspect(box_aspect, pb, fig_aspect) + self.set_position(pb1.anchored(self.get_anchor(), pb), 'active') + return + + # reset active to original in case it had been changed + # by prior use of 'box' + self.set_position(position, which='active') + + xmin, xmax = self.get_xbound() + ymin, ymax = self.get_ybound() + + if aspect_scale_mode == "log": + xmin, xmax = math.log10(xmin), math.log10(xmax) + ymin, ymax = math.log10(ymin), math.log10(ymax) + + xsize = max(math.fabs(xmax - xmin), 1e-30) + ysize = max(math.fabs(ymax - ymin), 1e-30) + + l, b, w, h = position.bounds + box_aspect = fig_aspect * (h / w) + data_ratio = box_aspect / A + + y_expander = (data_ratio * xsize / ysize - 1.0) + #print 'y_expander', y_expander + # If y_expander > 0, the dy/dx viewLim ratio needs to increase + if abs(y_expander) < 0.005: + #print 'good enough already' + return + + if aspect_scale_mode == "log": + dL = self.dataLim + dL_width = math.log10(dL.x1) - math.log10(dL.x0) + dL_height = math.log10(dL.y1) - math.log10(dL.y0) + xr = 1.05 * dL_width + yr = 1.05 * dL_height + else: + dL = self.dataLim + xr = 1.05 * dL.width + yr = 1.05 * dL.height + + xmarg = xsize - xr + ymarg = ysize - yr + Ysize = data_ratio * xsize + Xsize = ysize / data_ratio + Xmarg = Xsize - xr + Ymarg = Ysize - yr + xm = 0 # Setting these targets to, e.g., 0.05*xr does not seem to + # help. + ym = 0 + #print 'xmin, xmax, ymin, ymax', xmin, xmax, ymin, ymax + #print 'xsize, Xsize, ysize, Ysize', xsize, Xsize, ysize, Ysize + + changex = (self in self._shared_y_axes + and self not in self._shared_x_axes) + changey = (self in self._shared_x_axes + and self not in self._shared_y_axes) + if changex and changey: + warnings.warn("adjustable='datalim' cannot work with shared " + "x and y axes") + return + if changex: + adjust_y = False + else: + #print 'xmarg, ymarg, Xmarg, Ymarg', xmarg, ymarg, Xmarg, Ymarg + if xmarg > xm and ymarg > ym: + adjy = ((Ymarg > 0 and y_expander < 0) + or (Xmarg < 0 and y_expander > 0)) + else: + adjy = y_expander > 0 + #print 'y_expander, adjy', y_expander, adjy + adjust_y = changey or adjy # (Ymarg > xmarg) + if adjust_y: + yc = 0.5 * (ymin + ymax) + y0 = yc - Ysize / 2.0 + y1 = yc + Ysize / 2.0 + if aspect_scale_mode == "log": + self.set_ybound((10. ** y0, 10. ** y1)) + else: + self.set_ybound((y0, y1)) + #print 'New y0, y1:', y0, y1 + #print 'New ysize, ysize/xsize', y1-y0, (y1-y0)/xsize + else: + xc = 0.5 * (xmin + xmax) + x0 = xc - Xsize / 2.0 + x1 = xc + Xsize / 2.0 + if aspect_scale_mode == "log": + self.set_xbound((10. ** x0, 10. ** x1)) + else: + self.set_xbound((x0, x1)) + #print 'New x0, x1:', x0, x1 + #print 'New xsize, ysize/xsize', x1-x0, ysize/(x1-x0) + + def axis(self, *v, **kwargs): + """ + Convenience method for manipulating the x and y view limits + and the aspect ratio of the plot. For details, see + :func:`~matplotlib.pyplot.axis`. + + *kwargs* are passed on to :meth:`set_xlim` and + :meth:`set_ylim` + """ + if len(v) == 0 and len(kwargs) == 0: + xmin, xmax = self.get_xlim() + ymin, ymax = self.get_ylim() + return xmin, xmax, ymin, ymax + + if len(v) == 1 and is_string_like(v[0]): + s = v[0].lower() + if s == 'on': + self.set_axis_on() + elif s == 'off': + self.set_axis_off() + elif s in ('equal', 'tight', 'scaled', 'normal', 'auto', 'image'): + self.set_autoscale_on(True) + self.set_aspect('auto') + self.autoscale_view(tight=False) + # self.apply_aspect() + if s == 'equal': + self.set_aspect('equal', adjustable='datalim') + elif s == 'scaled': + self.set_aspect('equal', adjustable='box', anchor='C') + self.set_autoscale_on(False) # Req. by Mark Bakker + elif s == 'tight': + self.autoscale_view(tight=True) + self.set_autoscale_on(False) + elif s == 'image': + self.autoscale_view(tight=True) + self.set_autoscale_on(False) + self.set_aspect('equal', adjustable='box', anchor='C') + + else: + raise ValueError('Unrecognized string %s to axis; ' + 'try on or off' % s) + xmin, xmax = self.get_xlim() + ymin, ymax = self.get_ylim() + return xmin, xmax, ymin, ymax + + emit = kwargs.get('emit', True) + try: + v[0] + except IndexError: + xmin = kwargs.get('xmin', None) + xmax = kwargs.get('xmax', None) + auto = False # turn off autoscaling, unless... + if xmin is None and xmax is None: + auto = None # leave autoscaling state alone + xmin, xmax = self.set_xlim(xmin, xmax, emit=emit, auto=auto) + + ymin = kwargs.get('ymin', None) + ymax = kwargs.get('ymax', None) + auto = False # turn off autoscaling, unless... + if ymin is None and ymax is None: + auto = None # leave autoscaling state alone + ymin, ymax = self.set_ylim(ymin, ymax, emit=emit, auto=auto) + return xmin, xmax, ymin, ymax + + v = v[0] + if len(v) != 4: + raise ValueError('v must contain [xmin xmax ymin ymax]') + + self.set_xlim([v[0], v[1]], emit=emit, auto=False) + self.set_ylim([v[2], v[3]], emit=emit, auto=False) + + return v + + def get_legend(self): + """ + Return the legend.Legend instance, or None if no legend is defined + """ + return self.legend_ + + def get_images(self): + """return a list of Axes images contained by the Axes""" + return cbook.silent_list('AxesImage', self.images) + + def get_lines(self): + """Return a list of lines contained by the Axes""" + return cbook.silent_list('Line2D', self.lines) + + def get_xaxis(self): + """Return the XAxis instance""" + return self.xaxis + + def get_xgridlines(self): + """Get the x grid lines as a list of Line2D instances""" + return cbook.silent_list('Line2D xgridline', + self.xaxis.get_gridlines()) + + def get_xticklines(self): + """Get the xtick lines as a list of Line2D instances""" + return cbook.silent_list('Text xtickline', + self.xaxis.get_ticklines()) + + def get_yaxis(self): + """Return the YAxis instance""" + return self.yaxis + + def get_ygridlines(self): + """Get the y grid lines as a list of Line2D instances""" + return cbook.silent_list('Line2D ygridline', + self.yaxis.get_gridlines()) + + def get_yticklines(self): + """Get the ytick lines as a list of Line2D instances""" + return cbook.silent_list('Line2D ytickline', + self.yaxis.get_ticklines()) + + #### Adding and tracking artists + + def _sci(self, im): + """ + helper for :func:`~matplotlib.pyplot.sci`; + do not use elsewhere. + """ + if isinstance(im, matplotlib.contour.ContourSet): + if im.collections[0] not in self.collections: + raise ValueError( + "ContourSet must be in current Axes") + elif im not in self.images and im not in self.collections: + raise ValueError( + "Argument must be an image, collection, or ContourSet in " + "this Axes") + self._current_image = im + + def _gci(self): + """ + Helper for :func:`~matplotlib.pyplot.gci`; + do not use elsewhere. + """ + return self._current_image + + def has_data(self): + """ + Return *True* if any artists have been added to axes. + + This should not be used to determine whether the *dataLim* + need to be updated, and may not actually be useful for + anything. + """ + return ( + len(self.collections) + + len(self.images) + + len(self.lines) + + len(self.patches)) > 0 + + def add_artist(self, a): + """ + Add any :class:`~matplotlib.artist.Artist` to the axes. + + Returns the artist. + """ + a.set_axes(self) + self.artists.append(a) + self._set_artist_props(a) + a.set_clip_path(self.patch) + a._remove_method = lambda h: self.artists.remove(h) + return a + + def add_collection(self, collection, autolim=True): + """ + Add a :class:`~matplotlib.collections.Collection` instance + to the axes. + + Returns the collection. + """ + label = collection.get_label() + if not label: + collection.set_label('_collection%d' % len(self.collections)) + self.collections.append(collection) + self._set_artist_props(collection) + + if collection.get_clip_path() is None: + collection.set_clip_path(self.patch) + + if (autolim and + collection._paths is not None and + len(collection._paths) and + len(collection._offsets)): + self.update_datalim(collection.get_datalim(self.transData)) + + collection._remove_method = lambda h: self.collections.remove(h) + return collection + + def add_line(self, line): + """ + Add a :class:`~matplotlib.lines.Line2D` to the list of plot + lines + + Returns the line. + """ + self._set_artist_props(line) + if line.get_clip_path() is None: + line.set_clip_path(self.patch) + + self._update_line_limits(line) + if not line.get_label(): + line.set_label('_line%d' % len(self.lines)) + self.lines.append(line) + line._remove_method = lambda h: self.lines.remove(h) + return line + + def _update_line_limits(self, line): + """ + Figures out the data limit of the given line, updating self.dataLim. + """ + path = line.get_path() + if path.vertices.size == 0: + return + + line_trans = line.get_transform() + + if line_trans == self.transData: + data_path = path + + elif any(line_trans.contains_branch_seperately(self.transData)): + # identify the transform to go from line's coordinates + # to data coordinates + trans_to_data = line_trans - self.transData + + # if transData is affine we can use the cached non-affine component + # of line's path. (since the non-affine part of line_trans is + # entirely encapsulated in trans_to_data). + if self.transData.is_affine: + line_trans_path = line._get_transformed_path() + na_path, _ = line_trans_path.get_transformed_path_and_affine() + data_path = trans_to_data.transform_path_affine(na_path) + else: + data_path = trans_to_data.transform_path(path) + else: + # for backwards compatibility we update the dataLim with the + # coordinate range of the given path, even though the coordinate + # systems are completely different. This may occur in situations + # such as when ax.transAxes is passed through for absolute + # positioning. + data_path = path + + if data_path.vertices.size > 0: + updatex, updatey = line_trans.contains_branch_seperately( + self.transData) + self.dataLim.update_from_path(data_path, + self.ignore_existing_data_limits, + updatex=updatex, + updatey=updatey) + self.ignore_existing_data_limits = False + + def add_patch(self, p): + """ + Add a :class:`~matplotlib.patches.Patch` *p* to the list of + axes patches; the clipbox will be set to the Axes clipping + box. If the transform is not set, it will be set to + :attr:`transData`. + + Returns the patch. + """ + + self._set_artist_props(p) + if p.get_clip_path() is None: + p.set_clip_path(self.patch) + self._update_patch_limits(p) + self.patches.append(p) + p._remove_method = lambda h: self.patches.remove(h) + return p + + def _update_patch_limits(self, patch): + """update the data limits for patch *p*""" + # hist can add zero height Rectangles, which is useful to keep + # the bins, counts and patches lined up, but it throws off log + # scaling. We'll ignore rects with zero height or width in + # the auto-scaling + + # cannot check for '==0' since unitized data may not compare to zero + if (isinstance(patch, mpatches.Rectangle) and + ((not patch.get_width()) or (not patch.get_height()))): + return + vertices = patch.get_path().vertices + if vertices.size > 0: + xys = patch.get_patch_transform().transform(vertices) + if patch.get_data_transform() != self.transData: + patch_to_data = (patch.get_data_transform() - + self.transData) + xys = patch_to_data.transform(xys) + + updatex, updatey = patch.get_transform().\ + contains_branch_seperately(self.transData) + self.update_datalim(xys, updatex=updatex, + updatey=updatey) + + def add_table(self, tab): + """ + Add a :class:`~matplotlib.tables.Table` instance to the + list of axes tables + + Returns the table. + """ + self._set_artist_props(tab) + self.tables.append(tab) + tab.set_clip_path(self.patch) + tab._remove_method = lambda h: self.tables.remove(h) + return tab + + def add_container(self, container): + """ + Add a :class:`~matplotlib.container.Container` instance + to the axes. + + Returns the collection. + """ + label = container.get_label() + if not label: + container.set_label('_container%d' % len(self.containers)) + self.containers.append(container) + container.set_remove_method(lambda h: self.containers.remove(h)) + return container + + def relim(self): + """ + Recompute the data limits based on current artists. + + At present, :class:`~matplotlib.collections.Collection` + instances are not supported. + """ + # Collections are deliberately not supported (yet); see + # the TODO note in artists.py. + self.dataLim.ignore(True) + self.dataLim.set_points(mtransforms.Bbox.null().get_points()) + self.ignore_existing_data_limits = True + + for line in self.lines: + self._update_line_limits(line) + + for p in self.patches: + self._update_patch_limits(p) + + def update_datalim(self, xys, updatex=True, updatey=True): + """ + Update the data lim bbox with seq of xy tups or equiv. 2-D array + """ + # if no data is set currently, the bbox will ignore its + # limits and set the bound to be the bounds of the xydata. + # Otherwise, it will compute the bounds of it's current data + # and the data in xydata + + if iterable(xys) and not len(xys): + return + if not ma.isMaskedArray(xys): + xys = np.asarray(xys) + self.dataLim.update_from_data_xy(xys, self.ignore_existing_data_limits, + updatex=updatex, updatey=updatey) + self.ignore_existing_data_limits = False + + def update_datalim_numerix(self, x, y): + """ + Update the data lim bbox with seq of xy tups + """ + # if no data is set currently, the bbox will ignore it's + # limits and set the bound to be the bounds of the xydata. + # Otherwise, it will compute the bounds of it's current data + # and the data in xydata + if iterable(x) and not len(x): + return + self.dataLim.update_from_data(x, y, self.ignore_existing_data_limits) + self.ignore_existing_data_limits = False + + def update_datalim_bounds(self, bounds): + """ + Update the datalim to include the given + :class:`~matplotlib.transforms.Bbox` *bounds* + """ + self.dataLim.set(mtransforms.Bbox.union([self.dataLim, bounds])) + + def _process_unit_info(self, xdata=None, ydata=None, kwargs=None): + """Look for unit *kwargs* and update the axis instances as necessary""" + + if self.xaxis is None or self.yaxis is None: + return + + #print 'processing', self.get_geometry() + if xdata is not None: + # we only need to update if there is nothing set yet. + if not self.xaxis.have_units(): + self.xaxis.update_units(xdata) + #print '\tset from xdata', self.xaxis.units + + if ydata is not None: + # we only need to update if there is nothing set yet. + if not self.yaxis.have_units(): + self.yaxis.update_units(ydata) + #print '\tset from ydata', self.yaxis.units + + # process kwargs 2nd since these will override default units + if kwargs is not None: + xunits = kwargs.pop('xunits', self.xaxis.units) + if self.name == 'polar': + xunits = kwargs.pop('thetaunits', xunits) + if xunits != self.xaxis.units: + #print '\tkw setting xunits', xunits + self.xaxis.set_units(xunits) + # If the units being set imply a different converter, + # we need to update. + if xdata is not None: + self.xaxis.update_units(xdata) + + yunits = kwargs.pop('yunits', self.yaxis.units) + if self.name == 'polar': + yunits = kwargs.pop('runits', yunits) + if yunits != self.yaxis.units: + #print '\tkw setting yunits', yunits + self.yaxis.set_units(yunits) + # If the units being set imply a different converter, + # we need to update. + if ydata is not None: + self.yaxis.update_units(ydata) + + def in_axes(self, mouseevent): + """ + Return *True* if the given *mouseevent* (in display coords) + is in the Axes + """ + return self.patch.contains(mouseevent)[0] + + def get_autoscale_on(self): + """ + Get whether autoscaling is applied for both axes on plot commands + """ + return self._autoscaleXon and self._autoscaleYon + + def get_autoscalex_on(self): + """ + Get whether autoscaling for the x-axis is applied on plot commands + """ + return self._autoscaleXon + + def get_autoscaley_on(self): + """ + Get whether autoscaling for the y-axis is applied on plot commands + """ + return self._autoscaleYon + + def set_autoscale_on(self, b): + """ + Set whether autoscaling is applied on plot commands + + accepts: [ *True* | *False* ] + """ + self._autoscaleXon = b + self._autoscaleYon = b + + def set_autoscalex_on(self, b): + """ + Set whether autoscaling for the x-axis is applied on plot commands + + accepts: [ *True* | *False* ] + """ + self._autoscaleXon = b + + def set_autoscaley_on(self, b): + """ + Set whether autoscaling for the y-axis is applied on plot commands + + accepts: [ *True* | *False* ] + """ + self._autoscaleYon = b + + def set_xmargin(self, m): + """ + Set padding of X data limits prior to autoscaling. + + *m* times the data interval will be added to each + end of that interval before it is used in autoscaling. + + accepts: float in range 0 to 1 + """ + if m < 0 or m > 1: + raise ValueError("margin must be in range 0 to 1") + self._xmargin = m + + def set_ymargin(self, m): + """ + Set padding of Y data limits prior to autoscaling. + + *m* times the data interval will be added to each + end of that interval before it is used in autoscaling. + + accepts: float in range 0 to 1 + """ + if m < 0 or m > 1: + raise ValueError("margin must be in range 0 to 1") + self._ymargin = m + + def margins(self, *args, **kw): + """ + Set or retrieve autoscaling margins. + + signatures:: + + margins() + + returns xmargin, ymargin + + :: + + margins(margin) + + margins(xmargin, ymargin) + + margins(x=xmargin, y=ymargin) + + margins(..., tight=False) + + All three forms above set the xmargin and ymargin parameters. + All keyword parameters are optional. A single argument + specifies both xmargin and ymargin. The *tight* parameter + is passed to :meth:`autoscale_view`, which is executed after + a margin is changed; the default here is *True*, on the + assumption that when margins are specified, no additional + padding to match tick marks is usually desired. Setting + *tight* to *None* will preserve the previous setting. + + Specifying any margin changes only the autoscaling; for example, + if *xmargin* is not None, then *xmargin* times the X data + interval will be added to each end of that interval before + it is used in autoscaling. + + """ + if not args and not kw: + return self._xmargin, self._ymargin + + tight = kw.pop('tight', True) + mx = kw.pop('x', None) + my = kw.pop('y', None) + if len(args) == 1: + mx = my = args[0] + elif len(args) == 2: + mx, my = args + else: + raise ValueError("more than two arguments were supplied") + if mx is not None: + self.set_xmargin(mx) + if my is not None: + self.set_ymargin(my) + + scalex = (mx is not None) + scaley = (my is not None) + + self.autoscale_view(tight=tight, scalex=scalex, scaley=scaley) + + def set_rasterization_zorder(self, z): + """ + Set zorder value below which artists will be rasterized. Set + to `None` to disable rasterizing of artists below a particular + zorder. + """ + self._rasterization_zorder = z + + def get_rasterization_zorder(self): + """ + Get zorder value below which artists will be rasterized + """ + return self._rasterization_zorder + + def autoscale(self, enable=True, axis='both', tight=None): + """ + Autoscale the axis view to the data (toggle). + + Convenience method for simple axis view autoscaling. + It turns autoscaling on or off, and then, + if autoscaling for either axis is on, it performs + the autoscaling on the specified axis or axes. + + *enable*: [True | False | None] + True (default) turns autoscaling on, False turns it off. + None leaves the autoscaling state unchanged. + + *axis*: ['x' | 'y' | 'both'] + which axis to operate on; default is 'both' + + *tight*: [True | False | None] + If True, set view limits to data limits; + if False, let the locator and margins expand the view limits; + if None, use tight scaling if the only artist is an image, + otherwise treat *tight* as False. + The *tight* setting is retained for future autoscaling + until it is explicitly changed. + + + Returns None. + """ + if enable is None: + scalex = True + scaley = True + else: + scalex = False + scaley = False + if axis in ['x', 'both']: + self._autoscaleXon = bool(enable) + scalex = self._autoscaleXon + if axis in ['y', 'both']: + self._autoscaleYon = bool(enable) + scaley = self._autoscaleYon + self.autoscale_view(tight=tight, scalex=scalex, scaley=scaley) + + def autoscale_view(self, tight=None, scalex=True, scaley=True): + """ + Autoscale the view limits using the data limits. You can + selectively autoscale only a single axis, eg, the xaxis by + setting *scaley* to *False*. The autoscaling preserves any + axis direction reversal that has already been done. + + The data limits are not updated automatically when artist data are + changed after the artist has been added to an Axes instance. In that + case, use :meth:`matplotlib.axes.Axes.relim` prior to calling + autoscale_view. + """ + if tight is None: + # if image data only just use the datalim + _tight = self._tight or (len(self.images) > 0 and + len(self.lines) == 0 and + len(self.patches) == 0) + else: + _tight = self._tight = bool(tight) + + if scalex and self._autoscaleXon: + xshared = self._shared_x_axes.get_siblings(self) + dl = [ax.dataLim for ax in xshared] + bb = mtransforms.BboxBase.union(dl) + x0, x1 = bb.intervalx + xlocator = self.xaxis.get_major_locator() + try: + # e.g., DateLocator has its own nonsingular() + x0, x1 = xlocator.nonsingular(x0, x1) + except AttributeError: + # Default nonsingular for, e.g., MaxNLocator + x0, x1 = mtransforms.nonsingular(x0, x1, increasing=False, + expander=0.05) + if self._xmargin > 0: + delta = (x1 - x0) * self._xmargin + x0 -= delta + x1 += delta + if not _tight: + x0, x1 = xlocator.view_limits(x0, x1) + self.set_xbound(x0, x1) + + if scaley and self._autoscaleYon: + yshared = self._shared_y_axes.get_siblings(self) + dl = [ax.dataLim for ax in yshared] + bb = mtransforms.BboxBase.union(dl) + y0, y1 = bb.intervaly + ylocator = self.yaxis.get_major_locator() + try: + y0, y1 = ylocator.nonsingular(y0, y1) + except AttributeError: + y0, y1 = mtransforms.nonsingular(y0, y1, increasing=False, + expander=0.05) + if self._ymargin > 0: + delta = (y1 - y0) * self._ymargin + y0 -= delta + y1 += delta + if not _tight: + y0, y1 = ylocator.view_limits(y0, y1) + self.set_ybound(y0, y1) + + #### Drawing + + @allow_rasterization + def draw(self, renderer=None, inframe=False): + """Draw everything (plot lines, axes, labels)""" + if renderer is None: + renderer = self._cachedRenderer + + if renderer is None: + raise RuntimeError('No renderer defined') + if not self.get_visible(): + return + renderer.open_group('axes') + + locator = self.get_axes_locator() + if locator: + pos = locator(self, renderer) + self.apply_aspect(pos) + else: + self.apply_aspect() + + artists = [] + + artists.extend(self.collections) + artists.extend(self.patches) + artists.extend(self.lines) + artists.extend(self.texts) + artists.extend(self.artists) + if self.axison and not inframe: + if self._axisbelow: + self.xaxis.set_zorder(0.5) + self.yaxis.set_zorder(0.5) + else: + self.xaxis.set_zorder(2.5) + self.yaxis.set_zorder(2.5) + artists.extend([self.xaxis, self.yaxis]) + if not inframe: + artists.append(self.title) + artists.append(self._left_title) + artists.append(self._right_title) + artists.extend(self.tables) + if self.legend_ is not None: + artists.append(self.legend_) + + # the frame draws the edges around the axes patch -- we + # decouple these so the patch can be in the background and the + # frame in the foreground. + if self.axison and self._frameon: + artists.extend(self.spines.itervalues()) + + if self.figure.canvas.is_saving(): + dsu = [(a.zorder, a) for a in artists] + else: + dsu = [(a.zorder, a) for a in artists + if not a.get_animated()] + + # add images to dsu if the backend support compositing. + # otherwise, does the manaul compositing without adding images to dsu. + if len(self.images) <= 1 or renderer.option_image_nocomposite(): + dsu.extend([(im.zorder, im) for im in self.images]) + _do_composite = False + else: + _do_composite = True + + dsu.sort(key=itemgetter(0)) + + # rasterize artists with negative zorder + # if the minimum zorder is negative, start rasterization + rasterization_zorder = self._rasterization_zorder + if (rasterization_zorder is not None and + len(dsu) > 0 and dsu[0][0] < rasterization_zorder): + renderer.start_rasterizing() + dsu_rasterized = [l for l in dsu if l[0] < rasterization_zorder] + dsu = [l for l in dsu if l[0] >= rasterization_zorder] + else: + dsu_rasterized = [] + + # the patch draws the background rectangle -- the frame below + # will draw the edges + if self.axison and self._frameon: + self.patch.draw(renderer) + + if _do_composite: + # make a composite image blending alpha + # list of (mimage.Image, ox, oy) + + zorder_images = [(im.zorder, im) for im in self.images + if im.get_visible()] + zorder_images.sort(key=lambda x: x[0]) + + mag = renderer.get_image_magnification() + ims = [(im.make_image(mag), 0, 0, im.get_alpha()) + for z, im in zorder_images] + + l, b, r, t = self.bbox.extents + width = mag * ((round(r) + 0.5) - (round(l) - 0.5)) + height = mag * ((round(t) + 0.5) - (round(b) - 0.5)) + im = mimage.from_images(height, + width, + ims) + + im.is_grayscale = False + l, b, w, h = self.bbox.bounds + # composite images need special args so they will not + # respect z-order for now + + gc = renderer.new_gc() + gc.set_clip_rectangle(self.bbox) + gc.set_clip_path(mtransforms.TransformedPath( + self.patch.get_path(), + self.patch.get_transform())) + + renderer.draw_image(gc, round(l), round(b), im) + gc.restore() + + if dsu_rasterized: + for zorder, a in dsu_rasterized: + a.draw(renderer) + renderer.stop_rasterizing() + + for zorder, a in dsu: + a.draw(renderer) + + renderer.close_group('axes') + self._cachedRenderer = renderer + + def draw_artist(self, a): + """ + This method can only be used after an initial draw which + caches the renderer. It is used to efficiently update Axes + data (axis ticks, labels, etc are not updated) + """ + assert self._cachedRenderer is not None + a.draw(self._cachedRenderer) + + def redraw_in_frame(self): + """ + This method can only be used after an initial draw which + caches the renderer. It is used to efficiently update Axes + data (axis ticks, labels, etc are not updated) + """ + assert self._cachedRenderer is not None + self.draw(self._cachedRenderer, inframe=True) + + def get_renderer_cache(self): + return self._cachedRenderer + + #### Axes rectangle characteristics + + def get_frame_on(self): + """ + Get whether the axes rectangle patch is drawn + """ + return self._frameon + + def set_frame_on(self, b): + """ + Set whether the axes rectangle patch is drawn + + ACCEPTS: [ *True* | *False* ] + """ + self._frameon = b + + def get_axisbelow(self): + """ + Get whether axis below is true or not + """ + return self._axisbelow + + def set_axisbelow(self, b): + """ + Set whether the axis ticks and gridlines are above or below most + artists + + ACCEPTS: [ *True* | *False* ] + """ + self._axisbelow = b + + @docstring.dedent_interpd + def grid(self, b=None, which='major', axis='both', **kwargs): + """ + Turn the axes grids on or off. + + Call signature:: + + grid(self, b=None, which='major', axis='both', **kwargs) + + Set the axes grids on or off; *b* is a boolean. (For MATLAB + compatibility, *b* may also be a string, 'on' or 'off'.) + + If *b* is *None* and ``len(kwargs)==0``, toggle the grid state. If + *kwargs* are supplied, it is assumed that you want a grid and *b* + is thus set to *True*. + + *which* can be 'major' (default), 'minor', or 'both' to control + whether major tick grids, minor tick grids, or both are affected. + + *axis* can be 'both' (default), 'x', or 'y' to control which + set of gridlines are drawn. + + *kwargs* are used to set the grid line properties, eg:: + + ax.grid(color='r', linestyle='-', linewidth=2) + + Valid :class:`~matplotlib.lines.Line2D` kwargs are + + %(Line2D)s + + """ + if len(kwargs): + b = True + b = _string_to_bool(b) + + if axis == 'x' or axis == 'both': + self.xaxis.grid(b, which=which, **kwargs) + if axis == 'y' or axis == 'both': + self.yaxis.grid(b, which=which, **kwargs) + + def ticklabel_format(self, **kwargs): + """ + Change the `~matplotlib.ticker.ScalarFormatter` used by + default for linear axes. + + Optional keyword arguments: + + ============ ========================================= + Keyword Description + ============ ========================================= + *style* [ 'sci' (or 'scientific') | 'plain' ] + plain turns off scientific notation + *scilimits* (m, n), pair of integers; if *style* + is 'sci', scientific notation will + be used for numbers outside the range + 10`m`:sup: to 10`n`:sup:. + Use (0,0) to include all numbers. + *useOffset* [True | False | offset]; if True, + the offset will be calculated as needed; + if False, no offset will be used; if a + numeric offset is specified, it will be + used. + *axis* [ 'x' | 'y' | 'both' ] + *useLocale* If True, format the number according to + the current locale. This affects things + such as the character used for the + decimal separator. If False, use + C-style (English) formatting. The + default setting is controlled by the + axes.formatter.use_locale rcparam. + ============ ========================================= + + Only the major ticks are affected. + If the method is called when the + :class:`~matplotlib.ticker.ScalarFormatter` is not the + :class:`~matplotlib.ticker.Formatter` being used, an + :exc:`AttributeError` will be raised. + + """ + style = kwargs.pop('style', '').lower() + scilimits = kwargs.pop('scilimits', None) + useOffset = kwargs.pop('useOffset', None) + useLocale = kwargs.pop('useLocale', None) + axis = kwargs.pop('axis', 'both').lower() + if scilimits is not None: + try: + m, n = scilimits + m + n + 1 # check that both are numbers + except (ValueError, TypeError): + raise ValueError("scilimits must be a sequence of 2 integers") + if style[:3] == 'sci': + sb = True + elif style in ['plain', 'comma']: + sb = False + if style == 'plain': + cb = False + else: + cb = True + raise NotImplementedError("comma style remains to be added") + elif style == '': + sb = None + else: + raise ValueError("%s is not a valid style value") + try: + if sb is not None: + if axis == 'both' or axis == 'x': + self.xaxis.major.formatter.set_scientific(sb) + if axis == 'both' or axis == 'y': + self.yaxis.major.formatter.set_scientific(sb) + if scilimits is not None: + if axis == 'both' or axis == 'x': + self.xaxis.major.formatter.set_powerlimits(scilimits) + if axis == 'both' or axis == 'y': + self.yaxis.major.formatter.set_powerlimits(scilimits) + if useOffset is not None: + if axis == 'both' or axis == 'x': + self.xaxis.major.formatter.set_useOffset(useOffset) + if axis == 'both' or axis == 'y': + self.yaxis.major.formatter.set_useOffset(useOffset) + if useLocale is not None: + if axis == 'both' or axis == 'x': + self.xaxis.major.formatter.set_useLocale(useLocale) + if axis == 'both' or axis == 'y': + self.yaxis.major.formatter.set_useLocale(useLocale) + except AttributeError: + raise AttributeError( + "This method only works with the ScalarFormatter.") + + def locator_params(self, axis='both', tight=None, **kwargs): + """ + Control behavior of tick locators. + + Keyword arguments: + + *axis* + ['x' | 'y' | 'both'] Axis on which to operate; + default is 'both'. + + *tight* + [True | False | None] Parameter passed to :meth:`autoscale_view`. + Default is None, for no change. + + Remaining keyword arguments are passed to directly to the + :meth:`~matplotlib.ticker.MaxNLocator.set_params` method. + + Typically one might want to reduce the maximum number + of ticks and use tight bounds when plotting small + subplots, for example:: + + ax.locator_params(tight=True, nbins=4) + + Because the locator is involved in autoscaling, + :meth:`autoscale_view` is called automatically after + the parameters are changed. + + This presently works only for the + :class:`~matplotlib.ticker.MaxNLocator` used + by default on linear axes, but it may be generalized. + """ + _x = axis in ['x', 'both'] + _y = axis in ['y', 'both'] + if _x: + self.xaxis.get_major_locator().set_params(**kwargs) + if _y: + self.yaxis.get_major_locator().set_params(**kwargs) + self.autoscale_view(tight=tight, scalex=_x, scaley=_y) + + def tick_params(self, axis='both', **kwargs): + """ + Change the appearance of ticks and tick labels. + + Keyword arguments: + + *axis* : ['x' | 'y' | 'both'] + Axis on which to operate; default is 'both'. + + *reset* : [True | False] + If *True*, set all parameters to defaults + before processing other keyword arguments. Default is + *False*. + + *which* : ['major' | 'minor' | 'both'] + Default is 'major'; apply arguments to *which* ticks. + + *direction* : ['in' | 'out' | 'inout'] + Puts ticks inside the axes, outside the axes, or both. + + *length* + Tick length in points. + + *width* + Tick width in points. + + *color* + Tick color; accepts any mpl color spec. + + *pad* + Distance in points between tick and label. + + *labelsize* + Tick label font size in points or as a string (e.g., 'large'). + + *labelcolor* + Tick label color; mpl color spec. + + *colors* + Changes the tick color and the label color to the same value: + mpl color spec. + + *zorder* + Tick and label zorder. + + *bottom*, *top*, *left*, *right* : [bool | 'on' | 'off'] + controls whether to draw the respective ticks. + + *labelbottom*, *labeltop*, *labelleft*, *labelright* + Boolean or ['on' | 'off'], controls whether to draw the + respective tick labels. + + Example:: + + ax.tick_params(direction='out', length=6, width=2, colors='r') + + This will make all major ticks be red, pointing out of the box, + and with dimensions 6 points by 2 points. Tick labels will + also be red. + + """ + if axis in ['x', 'both']: + xkw = dict(kwargs) + xkw.pop('left', None) + xkw.pop('right', None) + xkw.pop('labelleft', None) + xkw.pop('labelright', None) + self.xaxis.set_tick_params(**xkw) + if axis in ['y', 'both']: + ykw = dict(kwargs) + ykw.pop('top', None) + ykw.pop('bottom', None) + ykw.pop('labeltop', None) + ykw.pop('labelbottom', None) + self.yaxis.set_tick_params(**ykw) + + def set_axis_off(self): + """turn off the axis""" + self.axison = False + + def set_axis_on(self): + """turn on the axis""" + self.axison = True + + def get_axis_bgcolor(self): + """Return the axis background color""" + return self._axisbg + + def set_axis_bgcolor(self, color): + """ + set the axes background color + + ACCEPTS: any matplotlib color - see + :func:`~matplotlib.pyplot.colors` + """ + + self._axisbg = color + self.patch.set_facecolor(color) + + ### data limits, ticks, tick labels, and formatting + + def invert_xaxis(self): + "Invert the x-axis." + left, right = self.get_xlim() + self.set_xlim(right, left, auto=None) + + def xaxis_inverted(self): + """Returns *True* if the x-axis is inverted.""" + left, right = self.get_xlim() + return right < left + + def get_xbound(self): + """ + Returns the x-axis numerical bounds where:: + + lowerBound < upperBound + + """ + left, right = self.get_xlim() + if left < right: + return left, right + else: + return right, left + + def set_xbound(self, lower=None, upper=None): + """ + Set the lower and upper numerical bounds of the x-axis. + This method will honor axes inversion regardless of parameter order. + It will not change the _autoscaleXon attribute. + """ + if upper is None and iterable(lower): + lower, upper = lower + + old_lower, old_upper = self.get_xbound() + + if lower is None: + lower = old_lower + if upper is None: + upper = old_upper + + if self.xaxis_inverted(): + if lower < upper: + self.set_xlim(upper, lower, auto=None) + else: + self.set_xlim(lower, upper, auto=None) + else: + if lower < upper: + self.set_xlim(lower, upper, auto=None) + else: + self.set_xlim(upper, lower, auto=None) + + def get_xlim(self): + """ + Get the x-axis range [*left*, *right*] + """ + return tuple(self.viewLim.intervalx) + + def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw): + """ + Call signature:: + + set_xlim(self, *args, **kwargs): + + Set the data limits for the xaxis + + Examples:: + + set_xlim((left, right)) + set_xlim(left, right) + set_xlim(left=1) # right unchanged + set_xlim(right=1) # left unchanged + + Keyword arguments: + + *left*: scalar + The left xlim; *xmin*, the previous name, may still be used + + *right*: scalar + The right xlim; *xmax*, the previous name, may still be used + + *emit*: [ *True* | *False* ] + Notify observers of limit change + + *auto*: [ *True* | *False* | *None* ] + Turn *x* autoscaling on (*True*), off (*False*; default), + or leave unchanged (*None*) + + Note, the *left* (formerly *xmin*) value may be greater than + the *right* (formerly *xmax*). + For example, suppose *x* is years before present. + Then one might use:: + + set_ylim(5000, 0) + + so 5000 years ago is on the left of the plot and the + present is on the right. + + Returns the current xlimits as a length 2 tuple + + ACCEPTS: length 2 sequence of floats + """ + if 'xmin' in kw: + left = kw.pop('xmin') + if 'xmax' in kw: + right = kw.pop('xmax') + if kw: + raise ValueError("unrecognized kwargs: %s" % kw.keys()) + + if right is None and iterable(left): + left, right = left + + self._process_unit_info(xdata=(left, right)) + if left is not None: + left = self.convert_xunits(left) + if right is not None: + right = self.convert_xunits(right) + + old_left, old_right = self.get_xlim() + if left is None: + left = old_left + if right is None: + right = old_right + + if left == right: + warnings.warn( + ('Attempting to set identical left==right results\n' + 'in singular transformations; automatically expanding.\n' + 'left=%s, right=%s') % (left, right)) + left, right = mtransforms.nonsingular(left, right, increasing=False) + left, right = self.xaxis.limit_range_for_scale(left, right) + + self.viewLim.intervalx = (left, right) + if auto is not None: + self._autoscaleXon = bool(auto) + + if emit: + self.callbacks.process('xlim_changed', self) + # Call all of the other x-axes that are shared with this one + for other in self._shared_x_axes.get_siblings(self): + if other is not self: + other.set_xlim(self.viewLim.intervalx, + emit=False, auto=auto) + if (other.figure != self.figure and + other.figure.canvas is not None): + other.figure.canvas.draw_idle() + + return left, right + + def get_xscale(self): + return self.xaxis.get_scale() + get_xscale.__doc__ = "Return the xaxis scale string: %s""" % ( + ", ".join(mscale.get_scale_names())) + + @docstring.dedent_interpd + def set_xscale(self, value, **kwargs): + """ + Call signature:: + + set_xscale(value) + + Set the scaling of the x-axis: %(scale)s + + ACCEPTS: [%(scale)s] + + Different kwargs are accepted, depending on the scale: + %(scale_docs)s + """ + self.xaxis._set_scale(value, **kwargs) + self.autoscale_view(scaley=False) + self._update_transScale() + + def get_xticks(self, minor=False): + """Return the x ticks as a list of locations""" + return self.xaxis.get_ticklocs(minor=minor) + + def set_xticks(self, ticks, minor=False): + """ + Set the x ticks with list of *ticks* + + ACCEPTS: sequence of floats + """ + return self.xaxis.set_ticks(ticks, minor=minor) + + def get_xmajorticklabels(self): + """ + Get the xtick labels as a list of :class:`~matplotlib.text.Text` + instances. + """ + return cbook.silent_list('Text xticklabel', + self.xaxis.get_majorticklabels()) + + def get_xminorticklabels(self): + """ + Get the x minor tick labels as a list of + :class:`matplotlib.text.Text` instances. + """ + return cbook.silent_list('Text xticklabel', + self.xaxis.get_minorticklabels()) + + def get_xticklabels(self, minor=False): + """ + Get the x tick labels as a list of :class:`~matplotlib.text.Text` + instances. + """ + return cbook.silent_list('Text xticklabel', + self.xaxis.get_ticklabels(minor=minor)) + + @docstring.dedent_interpd + def set_xticklabels(self, labels, fontdict=None, minor=False, **kwargs): + """ + Call signature:: + + set_xticklabels(labels, fontdict=None, minor=False, **kwargs) + + Set the xtick labels with list of strings *labels*. Return a + list of axis text instances. + + *kwargs* set the :class:`~matplotlib.text.Text` properties. + Valid properties are + %(Text)s + + ACCEPTS: sequence of strings + """ + return self.xaxis.set_ticklabels(labels, fontdict, + minor=minor, **kwargs) + + def invert_yaxis(self): + """ + Invert the y-axis. + """ + bottom, top = self.get_ylim() + self.set_ylim(top, bottom, auto=None) + + def yaxis_inverted(self): + """Returns *True* if the y-axis is inverted.""" + bottom, top = self.get_ylim() + return top < bottom + + def get_ybound(self): + """ + Return y-axis numerical bounds in the form of + ``lowerBound < upperBound`` + """ + bottom, top = self.get_ylim() + if bottom < top: + return bottom, top + else: + return top, bottom + + def set_ybound(self, lower=None, upper=None): + """ + Set the lower and upper numerical bounds of the y-axis. + This method will honor axes inversion regardless of parameter order. + It will not change the _autoscaleYon attribute. + """ + if upper is None and iterable(lower): + lower, upper = lower + + old_lower, old_upper = self.get_ybound() + + if lower is None: + lower = old_lower + if upper is None: + upper = old_upper + + if self.yaxis_inverted(): + if lower < upper: + self.set_ylim(upper, lower, auto=None) + else: + self.set_ylim(lower, upper, auto=None) + else: + if lower < upper: + self.set_ylim(lower, upper, auto=None) + else: + self.set_ylim(upper, lower, auto=None) + + def get_ylim(self): + """ + Get the y-axis range [*bottom*, *top*] + """ + return tuple(self.viewLim.intervaly) + + def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): + """ + Call signature:: + + set_ylim(self, *args, **kwargs): + + Set the data limits for the yaxis + + Examples:: + + set_ylim((bottom, top)) + set_ylim(bottom, top) + set_ylim(bottom=1) # top unchanged + set_ylim(top=1) # bottom unchanged + + Keyword arguments: + + *bottom*: scalar + The bottom ylim; the previous name, *ymin*, may still be used + + *top*: scalar + The top ylim; the previous name, *ymax*, may still be used + + *emit*: [ *True* | *False* ] + Notify observers of limit change + + *auto*: [ *True* | *False* | *None* ] + Turn *y* autoscaling on (*True*), off (*False*; default), + or leave unchanged (*None*) + + Note, the *bottom* (formerly *ymin*) value may be greater than + the *top* (formerly *ymax*). + For example, suppose *y* is depth in the ocean. + Then one might use:: + + set_ylim(5000, 0) + + so 5000 m depth is at the bottom of the plot and the + surface, 0 m, is at the top. + + Returns the current ylimits as a length 2 tuple + + ACCEPTS: length 2 sequence of floats + """ + if 'ymin' in kw: + bottom = kw.pop('ymin') + if 'ymax' in kw: + top = kw.pop('ymax') + if kw: + raise ValueError("unrecognized kwargs: %s" % kw.keys()) + + if top is None and iterable(bottom): + bottom, top = bottom + + if bottom is not None: + bottom = self.convert_yunits(bottom) + if top is not None: + top = self.convert_yunits(top) + + old_bottom, old_top = self.get_ylim() + + if bottom is None: + bottom = old_bottom + if top is None: + top = old_top + + if bottom == top: + warnings.warn(('Attempting to set identical bottom==top results\n' + + 'in singular transformations; automatically expanding.\n' + + 'bottom=%s, top=%s') % (bottom, top)) + + bottom, top = mtransforms.nonsingular(bottom, top, increasing=False) + bottom, top = self.yaxis.limit_range_for_scale(bottom, top) + + self.viewLim.intervaly = (bottom, top) + if auto is not None: + self._autoscaleYon = bool(auto) + + if emit: + self.callbacks.process('ylim_changed', self) + # Call all of the other y-axes that are shared with this one + for other in self._shared_y_axes.get_siblings(self): + if other is not self: + other.set_ylim(self.viewLim.intervaly, + emit=False, auto=auto) + if (other.figure != self.figure and + other.figure.canvas is not None): + other.figure.canvas.draw_idle() + + return bottom, top + + def get_yscale(self): + return self.yaxis.get_scale() + get_yscale.__doc__ = "Return the yaxis scale string: %s""" % ( + ", ".join(mscale.get_scale_names())) + + @docstring.dedent_interpd + def set_yscale(self, value, **kwargs): + """ + Call signature:: + + set_yscale(value) + + Set the scaling of the y-axis: %(scale)s + + ACCEPTS: [%(scale)s] + + Different kwargs are accepted, depending on the scale: + %(scale_docs)s + """ + self.yaxis._set_scale(value, **kwargs) + self.autoscale_view(scalex=False) + self._update_transScale() + + def get_yticks(self, minor=False): + """Return the y ticks as a list of locations""" + return self.yaxis.get_ticklocs(minor=minor) + + def set_yticks(self, ticks, minor=False): + """ + Set the y ticks with list of *ticks* + + ACCEPTS: sequence of floats + + Keyword arguments: + + *minor*: [ *False* | *True* ] + Sets the minor ticks if *True* + """ + return self.yaxis.set_ticks(ticks, minor=minor) + + def get_ymajorticklabels(self): + """ + Get the major y tick labels as a list of + :class:`~matplotlib.text.Text` instances. + """ + return cbook.silent_list('Text yticklabel', + self.yaxis.get_majorticklabels()) + + def get_yminorticklabels(self): + """ + Get the minor y tick labels as a list of + :class:`~matplotlib.text.Text` instances. + """ + return cbook.silent_list('Text yticklabel', + self.yaxis.get_minorticklabels()) + + def get_yticklabels(self, minor=False): + """ + Get the y tick labels as a list of :class:`~matplotlib.text.Text` + instances + """ + return cbook.silent_list('Text yticklabel', + self.yaxis.get_ticklabels(minor=minor)) + + @docstring.dedent_interpd + def set_yticklabels(self, labels, fontdict=None, minor=False, **kwargs): + """ + Call signature:: + + set_yticklabels(labels, fontdict=None, minor=False, **kwargs) + + Set the y tick labels with list of strings *labels*. Return a list of + :class:`~matplotlib.text.Text` instances. + + *kwargs* set :class:`~matplotlib.text.Text` properties for the labels. + Valid properties are + %(Text)s + + ACCEPTS: sequence of strings + """ + return self.yaxis.set_ticklabels(labels, fontdict, + minor=minor, **kwargs) + + def xaxis_date(self, tz=None): + """ + Sets up x-axis ticks and labels that treat the x data as dates. + + *tz* is a timezone string or :class:`tzinfo` instance. + Defaults to rc value. + """ + # should be enough to inform the unit conversion interface + # 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 a timezone string or :class:`tzinfo` instance. + Defaults to rc value. + """ + self.yaxis.axis_date(tz) + + def format_xdata(self, x): + """ + Return *x* string formatted. This function will use the attribute + self.fmt_xdata if it is callable, else will fall back on the xaxis + major formatter + """ + try: + return self.fmt_xdata(x) + except TypeError: + func = self.xaxis.get_major_formatter().format_data_short + val = func(x) + return val + + def format_ydata(self, y): + """ + Return y string formatted. This function will use the + :attr:`fmt_ydata` attribute if it is callable, else will fall + back on the yaxis major formatter + """ + try: + return self.fmt_ydata(y) + except TypeError: + func = self.yaxis.get_major_formatter().format_data_short + val = func(y) + return val + + def format_coord(self, x, y): + """Return a format string formatting the *x*, *y* coord""" + if x is None: + xs = '???' + else: + xs = self.format_xdata(x) + if y is None: + ys = '???' + else: + ys = self.format_ydata(y) + return 'x=%s y=%s' % (xs, ys) + + #### Interactive manipulation + + def can_zoom(self): + """ + Return *True* if this axes supports the zoom box button functionality. + """ + return True + + def can_pan(self): + """ + Return *True* if this axes supports any pan/zoom button functionality. + """ + return True + + def get_navigate(self): + """ + Get whether the axes responds to navigation commands + """ + return self._navigate + + def set_navigate(self, b): + """ + Set whether the axes responds to navigation toolbar commands + + ACCEPTS: [ *True* | *False* ] + """ + self._navigate = b + + def get_navigate_mode(self): + """ + Get the navigation toolbar button status: 'PAN', 'ZOOM', or None + """ + return self._navigate_mode + + def set_navigate_mode(self, b): + """ + Set the navigation toolbar button status; + + .. warning:: + this is not a user-API function. + + """ + self._navigate_mode = b + + def start_pan(self, x, y, button): + """ + Called when a pan operation has started. + + *x*, *y* are the mouse coordinates in display coords. + button is the mouse button number: + + * 1: LEFT + * 2: MIDDLE + * 3: RIGHT + + .. note:: + + Intended to be overridden by new projection types. + + """ + self._pan_start = cbook.Bunch( + lim=self.viewLim.frozen(), + trans=self.transData.frozen(), + trans_inverse=self.transData.inverted().frozen(), + bbox=self.bbox.frozen(), + x=x, + y=y) + + def end_pan(self): + """ + Called when a pan operation completes (when the mouse button + is up.) + + .. note:: + + Intended to be overridden by new projection types. + + """ + del self._pan_start + + def drag_pan(self, button, key, x, y): + """ + Called when the mouse moves during a pan operation. + + *button* is the mouse button number: + + * 1: LEFT + * 2: MIDDLE + * 3: RIGHT + + *key* is a "shift" key + + *x*, *y* are the mouse coordinates in display coords. + + .. note:: + + Intended to be overridden by new projection types. + + """ + def format_deltas(key, dx, dy): + if key == 'control': + if abs(dx) > abs(dy): + dy = dx + else: + dx = dy + elif key == 'x': + dy = 0 + elif key == 'y': + dx = 0 + elif key == 'shift': + if 2 * abs(dx) < abs(dy): + dx = 0 + elif 2 * abs(dy) < abs(dx): + dy = 0 + elif abs(dx) > abs(dy): + dy = dy / abs(dy) * abs(dx) + else: + dx = dx / abs(dx) * abs(dy) + return (dx, dy) + + p = self._pan_start + dx = x - p.x + dy = y - p.y + if dx == 0 and dy == 0: + return + if button == 1: + dx, dy = format_deltas(key, dx, dy) + result = p.bbox.translated(-dx, -dy) \ + .transformed(p.trans_inverse) + elif button == 3: + try: + dx = -dx / float(self.bbox.width) + dy = -dy / float(self.bbox.height) + dx, dy = format_deltas(key, dx, dy) + if self.get_aspect() != 'auto': + dx = 0.5 * (dx + dy) + dy = dx + + alpha = np.power(10.0, (dx, dy)) + start = np.array([p.x, p.y]) + oldpoints = p.lim.transformed(p.trans) + newpoints = start + alpha * (oldpoints - start) + result = mtransforms.Bbox(newpoints) \ + .transformed(p.trans_inverse) + except OverflowError: + warnings.warn('Overflow while panning') + return + + self.set_xlim(*result.intervalx) + self.set_ylim(*result.intervaly) + + def get_cursor_props(self): + """ + Return the cursor propertiess as a (*linewidth*, *color*) + tuple, where *linewidth* is a float and *color* is an RGBA + tuple + """ + return self._cursorProps + + def set_cursor_props(self, *args): + """ + Set the cursor property as:: + + ax.set_cursor_props(linewidth, color) + + or:: + + ax.set_cursor_props((linewidth, color)) + + ACCEPTS: a (*float*, *color*) tuple + """ + if len(args) == 1: + lw, c = args[0] + elif len(args) == 2: + lw, c = args + else: + raise ValueError('args must be a (linewidth, color) tuple') + c = mcolors.colorConverter.to_rgba(c) + self._cursorProps = lw, c + + def get_children(self): + """return a list of child artists""" + children = [] + children.append(self.xaxis) + children.append(self.yaxis) + children.extend(self.lines) + children.extend(self.patches) + children.extend(self.texts) + children.extend(self.tables) + children.extend(self.artists) + children.extend(self.images) + if self.legend_ is not None: + children.append(self.legend_) + children.extend(self.collections) + children.append(self.title) + children.append(self._left_title) + children.append(self._right_title) + children.append(self.patch) + children.extend(self.spines.itervalues()) + return children + + def contains(self, mouseevent): + """ + Test whether the mouse event occured in the axes. + + Returns *True* / *False*, {} + """ + if callable(self._contains): + return self._contains(self, mouseevent) + + return self.patch.contains(mouseevent) + + def contains_point(self, point): + """ + Returns *True* if the point (tuple of x,y) is inside the axes + (the area defined by the its patch). A pixel coordinate is + required. + + """ + return self.patch.contains_point(point, radius=1.0) + + def pick(self, *args): + """ + Call signature:: + + pick(mouseevent) + + each child artist will fire a pick event if mouseevent is over + the artist and the artist has picker set + """ + martist.Artist.pick(self, args[0]) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py new file mode 100644 index 000000000000..af2e15cd6e7c --- /dev/null +++ b/lib/matplotlib/axes/_subplots.py @@ -0,0 +1,209 @@ +from matplotlib.gridspec import GridSpec, SubplotSpec +from matplotlib import docstring +import matplotlib.artist as martist +from matplotlib.axes._axes import Axes + + +class SubplotBase(object): + """ + Base class for subplots, which are :class:`Axes` instances with + additional methods to facilitate generating and manipulating a set + of :class:`Axes` within a figure. + """ + + def __init__(self, fig, *args, **kwargs): + """ + *fig* is a :class:`matplotlib.figure.Figure` instance. + + *args* is the tuple (*numRows*, *numCols*, *plotNum*), where + the array of subplots in the figure has dimensions *numRows*, + *numCols*, and where *plotNum* is the number of the subplot + being created. *plotNum* starts at 1 in the upper left + corner and increases to the right. + + + If *numRows* <= *numCols* <= *plotNum* < 10, *args* can be the + decimal integer *numRows* * 100 + *numCols* * 10 + *plotNum*. + """ + + self.figure = fig + + if len(args) == 1: + if isinstance(args[0], SubplotSpec): + self._subplotspec = args[0] + else: + try: + s = str(int(args[0])) + rows, cols, num = map(int, s) + except ValueError: + raise ValueError( + 'Single argument to subplot must be a 3-digit ' + 'integer') + self._subplotspec = GridSpec(rows, cols)[num - 1] + # num - 1 for converting from MATLAB to python indexing + elif len(args) == 3: + rows, cols, num = args + rows = int(rows) + cols = int(cols) + if isinstance(num, tuple) and len(num) == 2: + num = [int(n) for n in num] + self._subplotspec = GridSpec(rows, cols)[num[0] - 1:num[1]] + else: + self._subplotspec = GridSpec(rows, cols)[int(num) - 1] + # num - 1 for converting from MATLAB to python indexing + else: + raise ValueError('Illegal argument(s) to subplot: %s' % (args,)) + + self.update_params() + + # _axes_class is set in the subplot_class_factory + self._axes_class.__init__(self, fig, self.figbox, **kwargs) + + def __reduce__(self): + # get the first axes class which does not inherit from a subplotbase + not_subplotbase = lambda c: issubclass(c, Axes) and \ + not issubclass(c, SubplotBase) + axes_class = [c for c in self.__class__.mro() if not_subplotbase(c)][0] + r = [_PicklableSubplotClassConstructor(), + (axes_class,), + self.__getstate__()] + return tuple(r) + + def get_geometry(self): + """get the subplot geometry, eg 2,2,3""" + rows, cols, num1, num2 = self.get_subplotspec().get_geometry() + return rows, cols, num1 + 1 # for compatibility + + # COVERAGE NOTE: Never used internally or from examples + def change_geometry(self, numrows, numcols, num): + """change subplot geometry, e.g., from 1,1,1 to 2,2,3""" + self._subplotspec = GridSpec(numrows, numcols)[num - 1] + self.update_params() + self.set_position(self.figbox) + + def get_subplotspec(self): + """get the SubplotSpec instance associated with the subplot""" + return self._subplotspec + + def set_subplotspec(self, subplotspec): + """set the SubplotSpec instance associated with the subplot""" + self._subplotspec = subplotspec + + def update_params(self): + """update the subplot position from fig.subplotpars""" + + self.figbox, self.rowNum, self.colNum, self.numRows, self.numCols = \ + self.get_subplotspec().get_position(self.figure, + return_all=True) + + def is_first_col(self): + return self.colNum == 0 + + def is_first_row(self): + return self.rowNum == 0 + + def is_last_row(self): + return self.rowNum == self.numRows - 1 + + def is_last_col(self): + return self.colNum == self.numCols - 1 + + # COVERAGE NOTE: Never used internally or from examples + def label_outer(self): + """ + set the visible property on ticklabels so xticklabels are + visible only if the subplot is in the last row and yticklabels + are visible only if the subplot is in the first column + """ + lastrow = self.is_last_row() + firstcol = self.is_first_col() + for label in self.get_xticklabels(): + label.set_visible(lastrow) + + for label in self.get_yticklabels(): + label.set_visible(firstcol) + + def _make_twin_axes(self, *kl, **kwargs): + """ + make a twinx axes of self. This is used for twinx and twiny. + """ + from matplotlib.projections import process_projection_requirements + kl = (self.get_subplotspec(),) + kl + projection_class, kwargs, key = process_projection_requirements( + self.figure, *kl, **kwargs) + + ax2 = subplot_class_factory(projection_class)(self.figure, + *kl, **kwargs) + self.figure.add_subplot(ax2) + return ax2 + +_subplot_classes = {} + + +def subplot_class_factory(axes_class=None): + # This makes a new class that inherits from SubplotBase and the + # given axes_class (which is assumed to be a subclass of Axes). + # This is perhaps a little bit roundabout to make a new class on + # the fly like this, but it means that a new Subplot class does + # not have to be created for every type of Axes. + if axes_class is None: + axes_class = Axes + + new_class = _subplot_classes.get(axes_class) + if new_class is None: + new_class = type("%sSubplot" % (axes_class.__name__), + (SubplotBase, axes_class), + {'_axes_class': axes_class}) + _subplot_classes[axes_class] = new_class + + return new_class + +# This is provided for backward compatibility +Subplot = subplot_class_factory() + + +class _PicklableSubplotClassConstructor(object): + """ + This stub class exists to return the appropriate subplot + class when __call__-ed with an axes class. This is purely to + allow Pickling of Axes and Subplots. + """ + def __call__(self, axes_class): + # create a dummy object instance + subplot_instance = _PicklableSubplotClassConstructor() + subplot_class = subplot_class_factory(axes_class) + # update the class to the desired subplot class + subplot_instance.__class__ = subplot_class + return subplot_instance + + +docstring.interpd.update(Axes=martist.kwdoc(Axes)) +docstring.interpd.update(Subplot=martist.kwdoc(Axes)) + +""" +# this is some discarded code I was using to find the minimum positive +# data point for some log scaling fixes. I realized there was a +# cleaner way to do it, but am keeping this around as an example for +# how to get the data out of the axes. Might want to make something +# like this a method one day, or better yet make get_verts an Artist +# method + + minx, maxx = self.get_xlim() + if minx<=0 or maxx<=0: + # find the min pos value in the data + xs = [] + for line in self.lines: + xs.extend(line.get_xdata(orig=False)) + for patch in self.patches: + xs.extend([x for x,y in patch.get_verts()]) + for collection in self.collections: + xs.extend([x for x,y in collection.get_verts()]) + posx = [x for x in xs if x>0] + if len(posx): + + minx = min(posx) + maxx = max(posx) + # warning, probably breaks inverted axis + self.set_xlim((0.1*minx, maxx)) + +""" diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index bf0d509725e4..1eae891360a3 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -893,7 +893,7 @@ def _as_mpl_axes(self): # testing axes creation with gca ax = plt.gca(projection=prj) - assert type(ax) == maxes._subplot_classes[PolarAxes], \ + assert type(ax) == maxes._subplots._subplot_classes[PolarAxes], \ 'Expected a PolarAxesSubplot, got %s' % type(ax) ax_via_gca = plt.gca(projection=prj) assert ax_via_gca is ax @@ -909,7 +909,7 @@ def _as_mpl_axes(self): # testing axes creation with subplot ax = plt.subplot(121, projection=prj) - assert type(ax) == maxes._subplot_classes[PolarAxes], \ + assert type(ax) == maxes._subplots._subplot_classes[PolarAxes], \ 'Expected a PolarAxesSubplot, got %s' % type(ax) plt.close() diff --git a/setupext.py b/setupext.py index 5cec57d1dc55..52c1e716f0b8 100644 --- a/setupext.py +++ b/setupext.py @@ -511,6 +511,7 @@ def get_packages(self): 'matplotlib.backends.qt4_editor', 'matplotlib.compat', 'matplotlib.projections', + 'matplotlib.axes', 'matplotlib.sphinxext', 'matplotlib.testing', 'matplotlib.testing.jpl_units', From fcdcd555968e9def758eae64d72f831fa339b600 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Fri, 28 Jun 2013 22:16:57 +0200 Subject: [PATCH 049/329] FIX process_plot_format is not in the axes module anymore --- lib/matplotlib/tri/triplot.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/tri/triplot.py b/lib/matplotlib/tri/triplot.py index 7d049c4869f0..792713907a01 100644 --- a/lib/matplotlib/tri/triplot.py +++ b/lib/matplotlib/tri/triplot.py @@ -5,6 +5,7 @@ from matplotlib.tri.triangulation import Triangulation import numpy as np + def triplot(ax, *args, **kwargs): """ Draw a unstructured triangular grid as lines and/or markers. @@ -53,7 +54,7 @@ def triplot(ax, *args, **kwargs): fmt = '' if len(args) > 0: fmt = args[0] - linestyle, marker, color = matplotlib.axes._process_plot_format(fmt) + linestyle, marker, color = matplotlib.axes._base._process_plot_format(fmt) # Draw lines without markers, if lines are required. if linestyle is not None and linestyle is not 'None': From 96ee5b2fdfd1cabb387791f4079689ae5586f4e7 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Fri, 28 Jun 2013 22:17:37 +0200 Subject: [PATCH 050/329] ENH now can run the tests on triangulation without the test runner --- lib/matplotlib/tests/test_triangulation.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/matplotlib/tests/test_triangulation.py b/lib/matplotlib/tests/test_triangulation.py index 2d04d154e48d..1847c912dbc9 100644 --- a/lib/matplotlib/tests/test_triangulation.py +++ b/lib/matplotlib/tests/test_triangulation.py @@ -881,3 +881,8 @@ def meshgrid_triangles(n): d = (i+1) + (j+1)*n tri += [[a, b, d], [a, d, c]] return np.array(tri, dtype=np.int32) + + +if __name__ == '__main__': + import nose + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) From 3a6270c72c81c8f9ce997a24d3f7de6621f9955d Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 00:12:04 +0200 Subject: [PATCH 051/329] Documented the changes --- CHANGELOG | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 8d2c91c224cb..345d5f8f295f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,15 @@ +2013-06-26 Refactored the axes module: the axes module is now a folder, + containing the following submodule: + - _subplots.py, containing all the subplots helper methods + - _base.py, containing several private methods and a new + _AxesBase class. This _AxesBase class contains all the methods + that are not directly linked to plots of the "old" Axes + - _axes.py contains the Axes class. This class now inherits from + _AxesBase: it contains all "plotting" methods and labelling + methods. + This refactoring should not affect the API. Only private methods + are not importable from the axes module anymore. + 2013-05-18 Added support for arbitrary rasterization resolutions to the SVG backend. Previously the resolution was hard coded to 72 dpi. Now the backend class takes a image_dpi argument for From 7238e2c3e87409dc301e6953b737bb19ce9795d8 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 00:27:54 +0200 Subject: [PATCH 052/329] DOC the refactoring of the axes module is now mentionned in the API_changes.rst file --- doc/api/api_changes.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 6a54b2b0bdc4..11bfaffbd607 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -11,6 +11,18 @@ help figure out possible sources of the changes you are experiencing. For new features that were added to matplotlib, please see :ref:`whats-new`. +Changes in 1.4.x +================ + +* A major refactoring of the axes module was made. The axes module has been +splitted into smaller modules: + + - the `_base` module, which contains a new private _AxesBase class. This + class contains all methods except plotting and labelling methods. + - the `axes` module, which contains the Axes class. This class inherits + from _AxesBase, and contains all plotting and labelling methods. + - the `_subplot` module, with all the classes concerning subplotting. + .. _changes_in_1_3: From 14ec9785ce5d9a748dfbebdca36682edcde2365e Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 16:09:35 +0200 Subject: [PATCH 053/329] ENH shuffled around some extra methods between Axes and _AxesBase --- lib/matplotlib/axes/_axes.py | 814 +++++++++++++++-------------------- lib/matplotlib/axes/_base.py | 140 +++++- 2 files changed, 480 insertions(+), 474 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 2937a68697d8..96c885b63362 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -9,7 +9,6 @@ import matplotlib rcParams = matplotlib.rcParams -import matplotlib.artist as martist import matplotlib.cbook as cbook import matplotlib.collections as mcoll import matplotlib.colors as mcolors @@ -24,7 +23,6 @@ import matplotlib.path as mpath import matplotlib.patches as mpatches import matplotlib.quiver as mquiver -import matplotlib.scale as mscale import matplotlib.stackplot as mstack import matplotlib.streamplot as mstream import matplotlib.table as mtable @@ -33,13 +31,16 @@ import matplotlib.transforms as mtransforms import matplotlib.tri as mtri from matplotlib.container import BarContainer, ErrorbarContainer, StemContainer -from matplotlib.axes._base import _AxesBase, _string_to_bool +from matplotlib.axes._base import _AxesBase iterable = cbook.iterable is_string_like = cbook.is_string_like is_sequence_of_strings = cbook.is_sequence_of_strings +# The axes module contains all the wrappers to plotting functions. +# All the other methods should go in the _AxesBase class. + class Axes(_AxesBase): """ The :class:`Axes` contains most of the figure elements: @@ -54,7 +55,7 @@ class Axes(_AxesBase): 'ylim_changed' and the callback will be called with func(*ax*) where *ax* is the :class:`Axes` instance. """ - ### Labelling + ### Labelling, legend and texts def get_title(self, loc="center"): """Get an axes title. @@ -201,7 +202,253 @@ def set_ylabel(self, ylabel, fontdict=None, labelpad=None, **kwargs): self.yaxis.labelpad = labelpad return self.yaxis.set_label_text(ylabel, fontdict, **kwargs) - @docstring.dedent_interpd + def _get_legend_handles(self, legend_handler_map=None): + "return artists that will be used as handles for legend" + handles_original = (self.lines + self.patches + + self.collections + self.containers) + + # collections + handler_map = mlegend.Legend.get_default_handler_map() + + if legend_handler_map is not None: + handler_map = handler_map.copy() + handler_map.update(legend_handler_map) + + handles = [] + for h in handles_original: + if h.get_label() == "_nolegend_": # .startswith('_'): + continue + if mlegend.Legend.get_legend_handler(handler_map, h): + handles.append(h) + + return handles + + def get_legend_handles_labels(self, legend_handler_map=None): + """ + Return handles and labels for legend + + ``ax.legend()`` is equivalent to :: + + h, l = ax.get_legend_handles_labels() + ax.legend(h, l) + + """ + + handles = [] + labels = [] + for handle in self._get_legend_handles(legend_handler_map): + label = handle.get_label() + if label and not label.startswith('_'): + handles.append(handle) + labels.append(label) + + return handles, labels + + def legend(self, *args, **kwargs): + """ + Place a legend on the current axes. + + Call signature:: + + legend(*args, **kwargs) + + Places legend at location *loc*. Labels are a sequence of + strings and *loc* can be a string or an integer specifying the + legend location. + + To make a legend with existing lines:: + + legend() + + :meth:`legend` by itself will try and build a legend using the label + property of the lines/patches/collections. You can set the label of + a line by doing:: + + plot(x, y, label='my data') + + or:: + + line.set_label('my data'). + + If label is set to '_nolegend_', the item will not be shown in + legend. + + To automatically generate the legend from labels:: + + legend( ('label1', 'label2', 'label3') ) + + To make a legend for a list of lines and labels:: + + legend( (line1, line2, line3), ('label1', 'label2', 'label3') ) + + To make a legend at a given location, using a location argument:: + + legend( ('label1', 'label2', 'label3'), loc='upper left') + + or:: + + legend((line1, line2, line3), ('label1', 'label2', 'label3'), loc=2) + + The location codes are + + =============== ============= + Location String Location Code + =============== ============= + 'best' 0 + 'upper right' 1 + 'upper left' 2 + 'lower left' 3 + 'lower right' 4 + 'right' 5 + 'center left' 6 + 'center right' 7 + 'lower center' 8 + 'upper center' 9 + 'center' 10 + =============== ============= + + + Users can specify any arbitrary location for the legend using the + *bbox_to_anchor* keyword argument. bbox_to_anchor can be an instance + of BboxBase(or its derivatives) or a tuple of 2 or 4 floats. + For example:: + + loc = 'upper right', bbox_to_anchor = (0.5, 0.5) + + will place the legend so that the upper right corner of the legend at + the center of the axes. + + The legend location can be specified in other coordinate, by using the + *bbox_transform* keyword. + + The loc itslef can be a 2-tuple giving x,y of the lower-left corner of + the legend in axes coords (*bbox_to_anchor* is ignored). + + Keyword arguments: + + *prop*: [ *None* | FontProperties | dict ] + A :class:`matplotlib.font_manager.FontProperties` + instance. If *prop* is a dictionary, a new instance will be + created with *prop*. If *None*, use rc settings. + + *fontsize*: [size in points | 'xx-small' | 'x-small' | 'small' | + 'medium' | 'large' | 'x-large' | 'xx-large'] + Set the font size. May be either a size string, relative to + the default font size, or an absolute font size in points. This + argument is only used if prop is not specified. + + *numpoints*: integer + The number of points in the legend for line + + *scatterpoints*: integer + The number of points in the legend for scatter plot + + *scatteryoffsets*: list of floats + a list of yoffsets for scatter symbols in legend + + *markerscale*: [ *None* | scalar ] + The relative size of legend markers vs. original. If *None*, + use rc settings. + + *frameon*: [ *True* | *False* ] + if *True*, draw a frame around the legend. + The default is set by the rcParam 'legend.frameon' + + *fancybox*: [ *None* | *False* | *True* ] + if *True*, draw a frame with a round fancybox. If *None*, + use rc settings + + *shadow*: [ *None* | *False* | *True* ] + If *True*, draw a shadow behind legend. If *None*, + use rc settings. + + *framealpha*: [*None* | float] + If not None, alpha channel for legend frame. Default *None*. + + *ncol* : integer + number of columns. default is 1 + + *mode* : [ "expand" | *None* ] + if mode is "expand", the legend will be horizontally expanded + to fill the axes area (or *bbox_to_anchor*) + + *bbox_to_anchor*: an instance of BboxBase or a tuple of 2 or 4 floats + the bbox that the legend will be anchored. + + *bbox_transform* : [ an instance of Transform | *None* ] + the transform for the bbox. transAxes if *None*. + + *title* : string + the legend title + + Padding and spacing between various elements use following + keywords parameters. These values are measure in font-size + units. e.g., a fontsize of 10 points and a handlelength=5 + implies a handlelength of 50 points. Values from rcParams + will be used if None. + + ================ ==================================================== + Keyword Description + ================ ==================================================== + borderpad the fractional whitespace inside the legend border + labelspacing the vertical space between the legend entries + handlelength the length of the legend handles + handletextpad the pad between the legend handle and text + borderaxespad the pad between the axes and legend border + columnspacing the spacing between columns + ================ ==================================================== + + .. note:: + + Not all kinds of artist are supported by the legend command. + See :ref:`plotting-guide-legend` for details. + + **Example:** + + .. plot:: mpl_examples/api/legend_demo.py + + .. seealso:: + :ref:`plotting-guide-legend`. + + """ + + if len(args) == 0: + handles, labels = self.get_legend_handles_labels() + if len(handles) == 0: + warnings.warn("No labeled objects found. " + "Use label='...' kwarg on individual plots.") + return None + + elif len(args) == 1: + # LABELS + labels = args[0] + handles = [h for h, label in zip(self._get_legend_handles(), + labels)] + + elif len(args) == 2: + if is_string_like(args[1]) or isinstance(args[1], int): + # LABELS, LOC + labels, loc = args + handles = [h for h, label in zip(self._get_legend_handles(), + labels)] + kwargs['loc'] = loc + else: + # LINES, LABELS + handles, labels = args + + elif len(args) == 3: + # LINES, LABELS, LOC + handles, labels, loc = args + kwargs['loc'] = loc + else: + raise TypeError('Invalid arguments to legend') + + # Why do we need to call "flatten" here? -JJL + # handles = cbook.flatten(handles) + + self.legend_ = mlegend.Legend(self, handles, labels, **kwargs) + return self.legend_ + def text(self, x, y, s, fontdict=None, withdash=False, **kwargs): """ @@ -1300,384 +1547,137 @@ def acorr(self, x, **kwargs): - *lags* are a length 2*maxlags+1 lag vector - - *c* is the 2*maxlags+1 auto correlation vector - - - *line* is a :class:`~matplotlib.lines.Line2D` instance - returned by :meth:`plot` - - The default *linestyle* is None and the default *marker* is - ``'o'``, though these can be overridden with keyword args. - The cross correlation is performed with - :func:`numpy.correlate` with *mode* = 2. - - If *usevlines* is *True*, :meth:`~matplotlib.axes.Axes.vlines` - rather than :meth:`~matplotlib.axes.Axes.plot` is used to draw - vertical lines from the origin to the acorr. Otherwise, the - plot style is determined by the kwargs, which are - :class:`~matplotlib.lines.Line2D` properties. - - *maxlags* is a positive integer detailing the number of lags - to show. The default value of *None* will return all - ``(2*len(x)-1)`` lags. - - The return value is a tuple (*lags*, *c*, *linecol*, *b*) - where - - - *linecol* is the - :class:`~matplotlib.collections.LineCollection` - - - *b* is the *x*-axis. - - .. seealso:: - - :meth:`~matplotlib.axes.Axes.plot` or - :meth:`~matplotlib.axes.Axes.vlines` - For documentation on valid kwargs. - - **Example:** - - :func:`~matplotlib.pyplot.xcorr` is top graph, and - :func:`~matplotlib.pyplot.acorr` is bottom graph. - - .. plot:: mpl_examples/pylab_examples/xcorr_demo.py - """ - return self.xcorr(x, x, **kwargs) - - @docstring.dedent_interpd - def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, - usevlines=True, maxlags=10, **kwargs): - """ - Plot the cross correlation between *x* and *y*. - - Call signature:: - - xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, - usevlines=True, maxlags=10, **kwargs) - - If *normed* = *True*, normalize the data by the cross - correlation at 0-th lag. *x* and y are detrended by the - *detrend* callable (default no normalization). *x* and *y* - must be equal length. - - Data are plotted as ``plot(lags, c, **kwargs)`` - - Return value is a tuple (*lags*, *c*, *line*) where: - - - *lags* are a length ``2*maxlags+1`` lag vector - - - *c* is the ``2*maxlags+1`` auto correlation vector - - - *line* is a :class:`~matplotlib.lines.Line2D` instance - returned by :func:`~matplotlib.pyplot.plot`. - - The default *linestyle* is *None* and the default *marker* is - 'o', though these can be overridden with keyword args. The - cross correlation is performed with :func:`numpy.correlate` - with *mode* = 2. - - If *usevlines* is *True*: - - :func:`~matplotlib.pyplot.vlines` - rather than :func:`~matplotlib.pyplot.plot` is used to draw - vertical lines from the origin to the xcorr. Otherwise the - plotstyle is determined by the kwargs, which are - :class:`~matplotlib.lines.Line2D` properties. - - The return value is a tuple (*lags*, *c*, *linecol*, *b*) - where *linecol* is the - :class:`matplotlib.collections.LineCollection` instance and - *b* is the *x*-axis. - - *maxlags* is a positive integer detailing the number of lags to show. - The default value of *None* will return all ``(2*len(x)-1)`` lags. - - **Example:** - - :func:`~matplotlib.pyplot.xcorr` is top graph, and - :func:`~matplotlib.pyplot.acorr` is bottom graph. - - .. plot:: mpl_examples/pylab_examples/xcorr_demo.py - """ - - Nx = len(x) - if Nx != len(y): - raise ValueError('x and y must be equal length') - - x = detrend(np.asarray(x)) - y = detrend(np.asarray(y)) - - c = np.correlate(x, y, mode=2) - - if normed: - c /= np.sqrt(np.dot(x, x) * np.dot(y, y)) - - if maxlags is None: - maxlags = Nx - 1 - - if maxlags >= Nx or maxlags < 1: - raise ValueError('maglags must be None or strictly ' - 'positive < %d' % Nx) - - lags = np.arange(-maxlags, maxlags + 1) - c = c[Nx - 1 - maxlags:Nx + maxlags] - - if usevlines: - a = self.vlines(lags, [0], c, **kwargs) - b = self.axhline(**kwargs) - else: - - kwargs.setdefault('marker', 'o') - kwargs.setdefault('linestyle', 'None') - a, = self.plot(lags, c, **kwargs) - b = None - return lags, c, a, b - - def _get_legend_handles(self, legend_handler_map=None): - "return artists that will be used as handles for legend" - handles_original = self.lines + self.patches + \ - self.collections + self.containers - - # collections - handler_map = mlegend.Legend.get_default_handler_map() - - if legend_handler_map is not None: - handler_map = handler_map.copy() - handler_map.update(legend_handler_map) - - handles = [] - for h in handles_original: - if h.get_label() == "_nolegend_": # .startswith('_'): - continue - if mlegend.Legend.get_legend_handler(handler_map, h): - handles.append(h) - - return handles - - def get_legend_handles_labels(self, legend_handler_map=None): - """ - Return handles and labels for legend - - ``ax.legend()`` is equivalent to :: - - h, l = ax.get_legend_handles_labels() - ax.legend(h, l) - - """ - - handles = [] - labels = [] - for handle in self._get_legend_handles(legend_handler_map): - label = handle.get_label() - if label and not label.startswith('_'): - handles.append(handle) - labels.append(label) - - return handles, labels - - def legend(self, *args, **kwargs): - """ - Place a legend on the current axes. - - Call signature:: - - legend(*args, **kwargs) - - Places legend at location *loc*. Labels are a sequence of - strings and *loc* can be a string or an integer specifying the - legend location. - - To make a legend with existing lines:: - - legend() - - :meth:`legend` by itself will try and build a legend using the label - property of the lines/patches/collections. You can set the label of - a line by doing:: - - plot(x, y, label='my data') - - or:: - - line.set_label('my data'). - - If label is set to '_nolegend_', the item will not be shown in - legend. - - To automatically generate the legend from labels:: - - legend( ('label1', 'label2', 'label3') ) - - To make a legend for a list of lines and labels:: - - legend( (line1, line2, line3), ('label1', 'label2', 'label3') ) - - To make a legend at a given location, using a location argument:: - - legend( ('label1', 'label2', 'label3'), loc='upper left') - - or:: + - *c* is the 2*maxlags+1 auto correlation vector - legend((line1, line2, line3), ('label1', 'label2', 'label3'), loc=2) + - *line* is a :class:`~matplotlib.lines.Line2D` instance + returned by :meth:`plot` - The location codes are + The default *linestyle* is None and the default *marker* is + ``'o'``, though these can be overridden with keyword args. + The cross correlation is performed with + :func:`numpy.correlate` with *mode* = 2. - =============== ============= - Location String Location Code - =============== ============= - 'best' 0 - 'upper right' 1 - 'upper left' 2 - 'lower left' 3 - 'lower right' 4 - 'right' 5 - 'center left' 6 - 'center right' 7 - 'lower center' 8 - 'upper center' 9 - 'center' 10 - =============== ============= + If *usevlines* is *True*, :meth:`~matplotlib.axes.Axes.vlines` + rather than :meth:`~matplotlib.axes.Axes.plot` is used to draw + vertical lines from the origin to the acorr. Otherwise, the + plot style is determined by the kwargs, which are + :class:`~matplotlib.lines.Line2D` properties. + *maxlags* is a positive integer detailing the number of lags + to show. The default value of *None* will return all + ``(2*len(x)-1)`` lags. - Users can specify any arbitrary location for the legend using the - *bbox_to_anchor* keyword argument. bbox_to_anchor can be an instance - of BboxBase(or its derivatives) or a tuple of 2 or 4 floats. - For example:: + The return value is a tuple (*lags*, *c*, *linecol*, *b*) + where - loc = 'upper right', bbox_to_anchor = (0.5, 0.5) + - *linecol* is the + :class:`~matplotlib.collections.LineCollection` - will place the legend so that the upper right corner of the legend at - the center of the axes. + - *b* is the *x*-axis. - The legend location can be specified in other coordinate, by using the - *bbox_transform* keyword. + .. seealso:: - The loc itslef can be a 2-tuple giving x,y of the lower-left corner of - the legend in axes coords (*bbox_to_anchor* is ignored). + :meth:`~matplotlib.axes.Axes.plot` or + :meth:`~matplotlib.axes.Axes.vlines` + For documentation on valid kwargs. - Keyword arguments: + **Example:** - *prop*: [ *None* | FontProperties | dict ] - A :class:`matplotlib.font_manager.FontProperties` - instance. If *prop* is a dictionary, a new instance will be - created with *prop*. If *None*, use rc settings. + :func:`~matplotlib.pyplot.xcorr` is top graph, and + :func:`~matplotlib.pyplot.acorr` is bottom graph. - *fontsize*: [size in points | 'xx-small' | 'x-small' | 'small' | - 'medium' | 'large' | 'x-large' | 'xx-large'] - Set the font size. May be either a size string, relative to - the default font size, or an absolute font size in points. This - argument is only used if prop is not specified. + .. plot:: mpl_examples/pylab_examples/xcorr_demo.py + """ + return self.xcorr(x, x, **kwargs) - *numpoints*: integer - The number of points in the legend for line + @docstring.dedent_interpd + def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, + usevlines=True, maxlags=10, **kwargs): + """ + Plot the cross correlation between *x* and *y*. - *scatterpoints*: integer - The number of points in the legend for scatter plot + Call signature:: - *scatteryoffsets*: list of floats - a list of yoffsets for scatter symbols in legend + xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, + usevlines=True, maxlags=10, **kwargs) - *markerscale*: [ *None* | scalar ] - The relative size of legend markers vs. original. If *None*, - use rc settings. + If *normed* = *True*, normalize the data by the cross + correlation at 0-th lag. *x* and y are detrended by the + *detrend* callable (default no normalization). *x* and *y* + must be equal length. - *frameon*: [ *True* | *False* ] - if *True*, draw a frame around the legend. - The default is set by the rcParam 'legend.frameon' + Data are plotted as ``plot(lags, c, **kwargs)`` - *fancybox*: [ *None* | *False* | *True* ] - if *True*, draw a frame with a round fancybox. If *None*, - use rc settings + Return value is a tuple (*lags*, *c*, *line*) where: - *shadow*: [ *None* | *False* | *True* ] - If *True*, draw a shadow behind legend. If *None*, - use rc settings. + - *lags* are a length ``2*maxlags+1`` lag vector - *framealpha*: [*None* | float] - If not None, alpha channel for legend frame. Default *None*. + - *c* is the ``2*maxlags+1`` auto correlation vector - *ncol* : integer - number of columns. default is 1 + - *line* is a :class:`~matplotlib.lines.Line2D` instance + returned by :func:`~matplotlib.pyplot.plot`. - *mode* : [ "expand" | *None* ] - if mode is "expand", the legend will be horizontally expanded - to fill the axes area (or *bbox_to_anchor*) + The default *linestyle* is *None* and the default *marker* is + 'o', though these can be overridden with keyword args. The + cross correlation is performed with :func:`numpy.correlate` + with *mode* = 2. - *bbox_to_anchor*: an instance of BboxBase or a tuple of 2 or 4 floats - the bbox that the legend will be anchored. + If *usevlines* is *True*: - *bbox_transform* : [ an instance of Transform | *None* ] - the transform for the bbox. transAxes if *None*. + :func:`~matplotlib.pyplot.vlines` + rather than :func:`~matplotlib.pyplot.plot` is used to draw + vertical lines from the origin to the xcorr. Otherwise the + plotstyle is determined by the kwargs, which are + :class:`~matplotlib.lines.Line2D` properties. - *title* : string - the legend title + The return value is a tuple (*lags*, *c*, *linecol*, *b*) + where *linecol* is the + :class:`matplotlib.collections.LineCollection` instance and + *b* is the *x*-axis. - Padding and spacing between various elements use following - keywords parameters. These values are measure in font-size - units. e.g., a fontsize of 10 points and a handlelength=5 - implies a handlelength of 50 points. Values from rcParams - will be used if None. + *maxlags* is a positive integer detailing the number of lags to show. + The default value of *None* will return all ``(2*len(x)-1)`` lags. - ================ ==================================================== - Keyword Description - ================ ==================================================== - borderpad the fractional whitespace inside the legend border - labelspacing the vertical space between the legend entries - handlelength the length of the legend handles - handletextpad the pad between the legend handle and text - borderaxespad the pad between the axes and legend border - columnspacing the spacing between columns - ================ ==================================================== + **Example:** - .. note:: + :func:`~matplotlib.pyplot.xcorr` is top graph, and + :func:`~matplotlib.pyplot.acorr` is bottom graph. - Not all kinds of artist are supported by the legend command. - See :ref:`plotting-guide-legend` for details. + .. plot:: mpl_examples/pylab_examples/xcorr_demo.py + """ - **Example:** + Nx = len(x) + if Nx != len(y): + raise ValueError('x and y must be equal length') - .. plot:: mpl_examples/api/legend_demo.py + x = detrend(np.asarray(x)) + y = detrend(np.asarray(y)) - .. seealso:: - :ref:`plotting-guide-legend`. + c = np.correlate(x, y, mode=2) - """ + if normed: + c /= np.sqrt(np.dot(x, x) * np.dot(y, y)) - if len(args) == 0: - handles, labels = self.get_legend_handles_labels() - if len(handles) == 0: - warnings.warn("No labeled objects found. " - "Use label='...' kwarg on individual plots.") - return None + if maxlags is None: + maxlags = Nx - 1 - elif len(args) == 1: - # LABELS - labels = args[0] - handles = [h for h, label in zip(self._get_legend_handles(), - labels)] + if maxlags >= Nx or maxlags < 1: + raise ValueError('maglags must be None or strictly ' + 'positive < %d' % Nx) - elif len(args) == 2: - if is_string_like(args[1]) or isinstance(args[1], int): - # LABELS, LOC - labels, loc = args - handles = [h for h, label in zip(self._get_legend_handles(), - labels)] - kwargs['loc'] = loc - else: - # LINES, LABELS - handles, labels = args + lags = np.arange(-maxlags, maxlags + 1) + c = c[Nx - 1 - maxlags:Nx + maxlags] - elif len(args) == 3: - # LINES, LABELS, LOC - handles, labels, loc = args - kwargs['loc'] = loc + if usevlines: + a = self.vlines(lags, [0], c, **kwargs) + b = self.axhline(**kwargs) else: - raise TypeError('Invalid arguments to legend') - - # Why do we need to call "flatten" here? -JJL - # handles = cbook.flatten(handles) - self.legend_ = mlegend.Legend(self, handles, labels, **kwargs) - return self.legend_ + kwargs.setdefault('marker', 'o') + kwargs.setdefault('linestyle', 'None') + a, = self.plot(lags, c, **kwargs) + b = None + return lags, c, a, b #### Specialized plotting @@ -4913,68 +4913,6 @@ def table(self, **kwargs): """ return mtable.table(self, **kwargs) - def _make_twin_axes(self, *kl, **kwargs): - """ - make a twinx axes of self. This is used for twinx and twiny. - """ - ax2 = self.figure.add_axes(self.get_position(True), *kl, **kwargs) - return ax2 - - def twinx(self): - """ - Call signature:: - - ax = twinx() - - create a twin of Axes for generating a plot with a sharex - x-axis but independent y axis. The y-axis of self will have - ticks on left and the returned axes will have ticks on the - right. - - .. note:: - For those who are 'picking' artists while using twinx, pick - events are only called for the artists in the top-most axes. - """ - - ax2 = self._make_twin_axes(sharex=self, frameon=False) - ax2.yaxis.tick_right() - ax2.yaxis.set_label_position('right') - ax2.yaxis.set_offset_position('right') - self.yaxis.tick_left() - ax2.xaxis.set_visible(False) - return ax2 - - def twiny(self): - """ - Call signature:: - - ax = twiny() - - create a twin of Axes for generating a plot with a shared - y-axis but independent x axis. The x-axis of self will have - ticks on bottom and the returned axes will have ticks on the - top. - - .. note:: - For those who are 'picking' artists while using twiny, pick - events are only called for the artists in the top-most axes. - """ - - ax2 = self._make_twin_axes(sharey=self, frameon=False) - ax2.xaxis.tick_top() - ax2.xaxis.set_label_position('top') - self.xaxis.tick_bottom() - ax2.yaxis.set_visible(False) - return ax2 - - def get_shared_x_axes(self): - 'Return a copy of the shared axes Grouper object for x axes' - return self._shared_x_axes - - def get_shared_y_axes(self): - 'Return a copy of the shared axes Grouper object for y axes' - return self._shared_y_axes - #### Data analysis @docstring.dedent_interpd @@ -6018,70 +5956,6 @@ def matshow(self, Z, **kwargs): integer=True)) return im - def get_default_bbox_extra_artists(self): - return [artist for artist in self.get_children() - if artist.get_visible()] - - def get_tightbbox(self, renderer, call_axes_locator=True): - """ - Return the tight bounding box of the axes. - The dimension of the Bbox in canvas coordinate. - - If *call_axes_locator* is *False*, it does not call the - _axes_locator attribute, which is necessary to get the correct - bounding box. ``call_axes_locator==False`` can be used if the - caller is only intereted in the relative size of the tightbbox - compared to the axes bbox. - """ - - bb = [] - - if not self.get_visible(): - return None - - locator = self.get_axes_locator() - if locator and call_axes_locator: - pos = locator(self, renderer) - self.apply_aspect(pos) - else: - self.apply_aspect() - - bb.append(self.get_window_extent(renderer)) - - if self.title.get_visible(): - bb.append(self.title.get_window_extent(renderer)) - if self._left_title.get_visible(): - bb.append(self._left_title.get_window_extent(renderer)) - if self._right_title.get_visible(): - bb.append(self._right_title.get_window_extent(renderer)) - - bb_xaxis = self.xaxis.get_tightbbox(renderer) - if bb_xaxis: - bb.append(bb_xaxis) - - bb_yaxis = self.yaxis.get_tightbbox(renderer) - if bb_yaxis: - bb.append(bb_yaxis) - - _bbox = mtransforms.Bbox.union( - [b for b in bb if b.width != 0 or b.height != 0]) - - return _bbox - - def minorticks_on(self): - 'Add autoscaling minor ticks to the axes.' - for ax in (self.xaxis, self.yaxis): - if ax.get_scale() == 'log': - s = ax._scale - ax.set_minor_locator(mticker.LogLocator(s.base, s.subs)) - else: - ax.set_minor_locator(mticker.AutoMinorLocator()) - - def minorticks_off(self): - """Remove minor ticks from the axes.""" - self.xaxis.set_minor_locator(mticker.NullLocator()) - self.yaxis.set_minor_locator(mticker.NullLocator()) - def tricontour(self, *args, **kwargs): return mtri.tricontour(self, *args, **kwargs) tricontour.__doc__ = mtri.TriContourSet.tricontour_doc diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index b4cead3ad71d..4aa64af2d1f2 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -16,6 +16,7 @@ import matplotlib.patches as mpatches import matplotlib.artist as martist import matplotlib.transforms as mtransforms +import matplotlib.ticker as mticker import matplotlib.axis as maxis import matplotlib.scale as mscale import matplotlib.spines as mspines @@ -700,6 +701,8 @@ def get_yaxis_text2_transform(self, pad_points): self.figure.dpi_scale_trans), "center", "left") + + def _update_transScale(self): self.transScale.set( mtransforms.blended_transform_factory( @@ -2732,9 +2735,10 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): top = old_top if bottom == top: - warnings.warn(('Attempting to set identical bottom==top results\n' - + 'in singular transformations; automatically expanding.\n' - + 'bottom=%s, top=%s') % (bottom, top)) + warnings.warn( + ('Attempting to set identical bottom==top results\n' + 'in singular transformations; automatically expanding.\n' + 'bottom=%s, top=%s') % (bottom, top)) bottom, top = mtransforms.nonsingular(bottom, top, increasing=False) bottom, top = self.yaxis.limit_range_for_scale(bottom, top) @@ -2751,7 +2755,7 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): other.set_ylim(self.viewLim.intervaly, emit=False, auto=auto) if (other.figure != self.figure and - other.figure.canvas is not None): + other.figure.canvas is not None): other.figure.canvas.draw_idle() return bottom, top @@ -2897,6 +2901,20 @@ def format_coord(self, x, y): ys = self.format_ydata(y) return 'x=%s y=%s' % (xs, ys) + def minorticks_on(self): + 'Add autoscaling minor ticks to the axes.' + for ax in (self.xaxis, self.yaxis): + if ax.get_scale() == 'log': + s = ax._scale + ax.set_minor_locator(mticker.LogLocator(s.base, s.subs)) + else: + ax.set_minor_locator(mticker.AutoMinorLocator()) + + def minorticks_off(self): + """Remove minor ticks from the axes.""" + self.xaxis.set_minor_locator(mticker.NullLocator()) + self.yaxis.set_minor_locator(mticker.NullLocator()) + #### Interactive manipulation def can_zoom(self): @@ -3128,3 +3146,117 @@ def pick(self, *args): the artist and the artist has picker set """ martist.Artist.pick(self, args[0]) + + def get_default_bbox_extra_artists(self): + return [artist for artist in self.get_children() + if artist.get_visible()] + + def get_tightbbox(self, renderer, call_axes_locator=True): + """ + Return the tight bounding box of the axes. + The dimension of the Bbox in canvas coordinate. + + If *call_axes_locator* is *False*, it does not call the + _axes_locator attribute, which is necessary to get the correct + bounding box. ``call_axes_locator==False`` can be used if the + caller is only intereted in the relative size of the tightbbox + compared to the axes bbox. + """ + + bb = [] + + if not self.get_visible(): + return None + + locator = self.get_axes_locator() + if locator and call_axes_locator: + pos = locator(self, renderer) + self.apply_aspect(pos) + else: + self.apply_aspect() + + bb.append(self.get_window_extent(renderer)) + + if self.title.get_visible(): + bb.append(self.title.get_window_extent(renderer)) + if self._left_title.get_visible(): + bb.append(self._left_title.get_window_extent(renderer)) + if self._right_title.get_visible(): + bb.append(self._right_title.get_window_extent(renderer)) + + bb_xaxis = self.xaxis.get_tightbbox(renderer) + if bb_xaxis: + bb.append(bb_xaxis) + + bb_yaxis = self.yaxis.get_tightbbox(renderer) + if bb_yaxis: + bb.append(bb_yaxis) + + _bbox = mtransforms.Bbox.union( + [b for b in bb if b.width != 0 or b.height != 0]) + + return _bbox + + def _make_twin_axes(self, *kl, **kwargs): + """ + make a twinx axes of self. This is used for twinx and twiny. + """ + ax2 = self.figure.add_axes(self.get_position(True), *kl, **kwargs) + return ax2 + + def twinx(self): + """ + Call signature:: + + ax = twinx() + + create a twin of Axes for generating a plot with a sharex + x-axis but independent y axis. The y-axis of self will have + ticks on left and the returned axes will have ticks on the + right. + + .. note:: + For those who are 'picking' artists while using twinx, pick + events are only called for the artists in the top-most axes. + """ + + ax2 = self._make_twin_axes(sharex=self, frameon=False) + ax2.yaxis.tick_right() + ax2.yaxis.set_label_position('right') + ax2.yaxis.set_offset_position('right') + self.yaxis.tick_left() + ax2.xaxis.set_visible(False) + return ax2 + + def twiny(self): + """ + Call signature:: + + ax = twiny() + + create a twin of Axes for generating a plot with a shared + y-axis but independent x axis. The x-axis of self will have + ticks on bottom and the returned axes will have ticks on the + top. + + .. note:: + For those who are 'picking' artists while using twiny, pick + events are only called for the artists in the top-most axes. + """ + + ax2 = self._make_twin_axes(sharey=self, frameon=False) + ax2.xaxis.tick_top() + ax2.xaxis.set_label_position('top') + self.xaxis.tick_bottom() + ax2.yaxis.set_visible(False) + return ax2 + + def get_shared_x_axes(self): + 'Return a copy of the shared axes Grouper object for x axes' + return self._shared_x_axes + + def get_shared_y_axes(self): + 'Return a copy of the shared axes Grouper object for y axes' + return self._shared_y_axes + + From 94cb09b26f8323be250f589ba5baa0e99094dfc4 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 16:36:53 +0200 Subject: [PATCH 054/329] FIX importing _string_to_bool from the wrong module --- lib/matplotlib/axes/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/__init__.py b/lib/matplotlib/axes/__init__.py index ab0a39e72076..018398edcb67 100644 --- a/lib/matplotlib/axes/__init__.py +++ b/lib/matplotlib/axes/__init__.py @@ -1,3 +1,3 @@ from matplotlib.axes._subplots import * from matplotlib.axes._axes import * -from matplotlib.axes._axes import _string_to_bool +from matplotlib.axes._base import _string_to_bool From 20e05d1b3c84a7851e4634701d46f57b919816c0 Mon Sep 17 00:00:00 2001 From: Matt Terry Date: Sat, 29 Jun 2013 10:16:56 -0500 Subject: [PATCH 055/329] added test for table zorder --- lib/matplotlib/__init__.py | 1 + .../test_table/table_zorder.png | Bin 0 -> 36925 bytes lib/matplotlib/tests/test_table.py | 37 ++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_table/table_zorder.png create mode 100644 lib/matplotlib/tests/test_table.py diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 6db9f897315e..ab7ffe4ee7b1 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1230,6 +1230,7 @@ def tk_window_focus(): 'matplotlib.tests.test_spines', 'matplotlib.tests.test_streamplot', 'matplotlib.tests.test_subplots', + 'matplotlib.tests.test_table', 'matplotlib.tests.test_text', 'matplotlib.tests.test_ticker', 'matplotlib.tests.test_tightlayout', diff --git a/lib/matplotlib/tests/baseline_images/test_table/table_zorder.png b/lib/matplotlib/tests/baseline_images/test_table/table_zorder.png new file mode 100644 index 0000000000000000000000000000000000000000..21d4537c18fc37e900364ec7bccc6143f85d4318 GIT binary patch literal 36925 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py new file mode 100644 index 000000000000..6a8e41460d7a --- /dev/null +++ b/lib/matplotlib/tests/test_table.py @@ -0,0 +1,37 @@ +import matplotlib.pyplot as plt +import numpy as np +from matplotlib.testing.decorators import image_comparison + + +@image_comparison(baseline_images=['table_zorder'], extensions=['png']) +def test_zorder(): + data = [[ 66386, 174296,], + [ 58230, 381139,]] + + colLabels = ('Freeze', 'Wind') + rowLabels = ['%d year' % x for x in (100, 50)] + + + cellText = [] + yoff = np.array([0.0] * len(colLabels)) + for row in reversed(data): + yoff += row + cellText.append(['%1.1f' % (x/1000.0) for x in yoff]) + + t = np.linspace(0, 2*np.pi, 100) + plt.plot(t, np.cos(t), lw=4, zorder=2) + + plt.table(cellText=cellText, + rowLabels=rowLabels, + colLabels=colLabels, + loc='center', + zorder=-2, + ) + + plt.table(cellText=cellText, + rowLabels=rowLabels, + colLabels=colLabels, + loc='upper center', + zorder=4, + ) + plt.yticks([]) From 89d7d5423b8f360f0fcd95b317b37e2d642b4abd Mon Sep 17 00:00:00 2001 From: Marianne Corvellec Date: Sat, 29 Jun 2013 12:03:42 -0400 Subject: [PATCH 056/329] Added missing '#'; when starting ipython, I was getting the following message: Bad key "text.hinting_factor" on line 184 in /home/marianne/.matplotlib/matplotlibrc. You probably need to get an updated matplotlibrc file from http://matplotlib.sf.net/_static/matplotlibrc or from the matplotlib source distribution --- matplotlibrc.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matplotlibrc.template b/matplotlibrc.template index 10558321c2f4..00f9e2a56138 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -191,7 +191,7 @@ backend : %(backend)s # or the autohinter if none is available. # For backward compatibility, this value may also be # True === 'auto' or False === 'none'. -text.hinting_factor : 8 # Specifies the amount of softness for hinting in the +#text.hinting_factor : 8 # Specifies the amount of softness for hinting in the # horizontal direction. A value of 1 will hint to full # pixels. A value of 2 will hint to half pixels etc. From f32cbd287350444586ef952547457c7d0e8b8ba6 Mon Sep 17 00:00:00 2001 From: Trevor Bekolay Date: Sat, 29 Jun 2013 11:27:58 -0500 Subject: [PATCH 057/329] Fix for generating documentation - Introduced a syntax error in PR #2161, whoops! --- doc/sphinxext/gen_gallery.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinxext/gen_gallery.py b/doc/sphinxext/gen_gallery.py index 4d1a77a3245e..05cba6858c9e 100644 --- a/doc/sphinxext/gen_gallery.py +++ b/doc/sphinxext/gen_gallery.py @@ -125,7 +125,7 @@ def gen_gallery(app, doctree): link = 'examples/%s/%s.html'%(subdir, basename) rows.append(link_template.format(link=link, thumb=thumbfile, - basename=basename + basename=basename, title=basename)) if len(data) == 0: From 9412e84837cb39107a0330a8877ce126bec2b0c0 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 18:28:07 +0200 Subject: [PATCH 058/329] DOC - added the differences between the axes module namespace before and after --- doc/api/api_changes.rst | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 11bfaffbd607..a17ef4971e52 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -23,6 +23,30 @@ splitted into smaller modules: from _AxesBase, and contains all plotting and labelling methods. - the `_subplot` module, with all the classes concerning subplotting. +There are a couple of things that do not exists in the `axes` module's +namespace anymore. If you use them, you need to import them from their +original location: + + - math -> `import math` + - ma -> `from numpy import ma` + - cbook -> `from matplotlib import cbook` + - division -> `from __future__ import division` + - docstring -> `from matplotlib impotr docstring` + - is_sequence_of_strings -> `from matplotlib.cbook import is_sequence_of_strings` + - is_string_like -> `from matplotlib.cbook import is_string_like` + - iterable -> `from matplotlib.cbook import iterable` + - itertools -> `import itertools` + - martist -> `from matplotlib import artist as martist` + - matplotlib -> `import matplotlib` + - mcoll -> `from matplotlib import collections as mcoll` + - mcolors -> `from matplotlib import colors as mcolors` + - mcontour -> `from matplotlib import contour as mcontour` + - mpatches -> `from matplotlib import patchs as mpatches` + - mpath -> `from matplotlib import path as mpath` + - mquiver -> `from matplotlib import quiver as mquiver` + - mstack -> `from matplotlib import stack as mstack` + - mstream -> `from matplotlib import stream as mstream` + - mtable -> `from matplotlib import table as mtable` .. _changes_in_1_3: From d32e2ab37aeabab1a3ffdfd7da280bf7186fa372 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 17:42:56 +0200 Subject: [PATCH 059/329] ENH Move _string_to_bool from axes._base to cbook --- lib/matplotlib/axes/__init__.py | 1 - lib/matplotlib/axes/_axes.py | 1 + lib/matplotlib/axes/_base.py | 11 +---------- lib/matplotlib/cbook.py | 28 ++++++++++++++++++++-------- lib/matplotlib/pyplot.py | 3 ++- lib/mpl_toolkits/mplot3d/axes3d.py | 2 +- 6 files changed, 25 insertions(+), 21 deletions(-) diff --git a/lib/matplotlib/axes/__init__.py b/lib/matplotlib/axes/__init__.py index 018398edcb67..8325a8046905 100644 --- a/lib/matplotlib/axes/__init__.py +++ b/lib/matplotlib/axes/__init__.py @@ -1,3 +1,2 @@ from matplotlib.axes._subplots import * from matplotlib.axes._axes import * -from matplotlib.axes._base import _string_to_bool diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 96c885b63362..63759a0cb0b3 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -10,6 +10,7 @@ rcParams = matplotlib.rcParams import matplotlib.cbook as cbook +from matplotlib.cbook import _string_to_bool import matplotlib.collections as mcoll import matplotlib.colors as mcolors import matplotlib.contour as mcontour diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 4aa64af2d1f2..99f09156a006 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -10,6 +10,7 @@ rcParams = matplotlib.rcParams from matplotlib import cbook +from matplotlib.cbook import _string_to_bool from matplotlib import docstring import matplotlib.colors as mcolors import matplotlib.lines as mlines @@ -33,16 +34,6 @@ is_sequence_of_strings = cbook.is_sequence_of_strings -def _string_to_bool(s): - if not is_string_like(s): - return s - if s == 'on': - return True - if s == 'off': - return False - raise ValueError("string argument must be either 'on' or 'off'") - - def _process_plot_format(fmt): """ Process a MATLAB style color/line style format string. Return a diff --git a/lib/matplotlib/cbook.py b/lib/matplotlib/cbook.py index ad2ec5f58724..f44bcb867b2a 100644 --- a/lib/matplotlib/cbook.py +++ b/lib/matplotlib/cbook.py @@ -45,9 +45,9 @@ class MatplotlibDeprecationWarning(UserWarning): mplDeprecation = MatplotlibDeprecationWarning -def _generate_deprecation_message( - since, message='', name='', alternative='', pending=False, - obj_type='attribute'): +def _generate_deprecation_message(since, message='', name='', + alternative='', pending=False, + obj_type='attribute'): if not message: altmessage = '' @@ -464,9 +464,11 @@ class CallbackRegistry: """ def __init__(self, *args): if len(args): - warn_deprecated('1.3', message= - "CallbackRegistry no longer requires a list of callback " - "types. Ignoring arguments. *args will be removed in 1.5") + warn_deprecated( + '1.3', + message="CallbackRegistry no longer requires a list of " + "callback types. Ignoring arguments. *args will " + "be removed in 1.5") self.callbacks = dict() self._cid = 0 self._func_cid_map = {} @@ -750,6 +752,16 @@ def is_scalar_or_string(val): return is_string_like(val) or not iterable(val) +def _string_to_bool(s): + if not is_string_like(s): + return s + if s == 'on': + return True + if s == 'off': + return False + raise ValueError("string argument must be either 'on' or 'off'") + + def get_sample_data(fname, asfileobj=True): """ Return a sample data file. *fname* is a path relative to the @@ -1724,8 +1736,8 @@ def simple_linear_interpolation(a, steps): def recursive_remove(path): if os.path.isdir(path): - for fname in glob.glob(os.path.join(path, '*')) + \ - glob.glob(os.path.join(path, '.*')): + for fname in (glob.glob(os.path.join(path, '*')) + + glob.glob(os.path.join(path, '.*'))): if os.path.isdir(fname): recursive_remove(fname) os.removedirs(fname) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index e650d13b0573..0709f85a2dc2 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -24,6 +24,7 @@ import matplotlib.colorbar from matplotlib import _pylab_helpers, interactive from matplotlib.cbook import dedent, silent_list, is_string_like, is_numlike +from matplotlib.cbook import _string_to_bool from matplotlib import docstring from matplotlib.backend_bases import FigureCanvasBase from matplotlib.figure import Figure, figaspect @@ -35,7 +36,7 @@ from matplotlib.rcsetup import interactive_bk as _interactive_bk from matplotlib.artist import getp, get, Artist from matplotlib.artist import setp as _setp -from matplotlib.axes import Axes, Subplot, _string_to_bool +from matplotlib.axes import Axes, Subplot from matplotlib.projections import PolarAxes from matplotlib import mlab # for csv2rec, detrend_none, window_hanning from matplotlib.scale import get_scale_docs, get_scale_names diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 8e75259db533..dacf33794470 100755 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1253,7 +1253,7 @@ def grid(self, b=True, **kwargs): # TODO: Operate on each axes separately if len(kwargs) : b = True - self._draw_grid = maxes._string_to_bool(b) + self._draw_grid = cbook._string_to_bool(b) def ticklabel_format(self, **kwargs) : """ From 83da05971de8d33d8100901f7c222521ce14ad63 Mon Sep 17 00:00:00 2001 From: Trevor Bekolay Date: Fri, 28 Jun 2013 14:52:12 -0500 Subject: [PATCH 060/329] Added mplot3d tests in mpl_toolkits.tests - This complements PR #2135 - Also tests issue #1933, which was fixed but untested - Also changes the remove_text decorator, to remove text on the z-axis. --- lib/matplotlib/testing/decorators.py | 5 + lib/matplotlib/tests/test_backend_pdf.py | 8 +- .../baseline_images/test_mplot3d/bar3d.pdf | Bin 0 -> 12905 bytes .../baseline_images/test_mplot3d/bar3d.png | Bin 0 -> 100843 bytes .../baseline_images/test_mplot3d/bar3d.svg | 942 + .../test_mplot3d/contour3d.pdf | Bin 0 -> 55360 bytes .../test_mplot3d/contour3d.png | Bin 0 -> 77703 bytes .../test_mplot3d/contour3d.svg | 3217 +++ .../test_mplot3d/contourf3d.pdf | Bin 0 -> 118421 bytes .../test_mplot3d/contourf3d.png | Bin 0 -> 42580 bytes .../test_mplot3d/contourf3d.svg | 7416 ++++++ .../baseline_images/test_mplot3d/lines3d.pdf | Bin 0 -> 11022 bytes .../baseline_images/test_mplot3d/lines3d.png | Bin 0 -> 59827 bytes .../baseline_images/test_mplot3d/lines3d.svg | 489 + .../test_mplot3d/mixedsubplot.pdf | Bin 0 -> 506122 bytes .../test_mplot3d/mixedsubplot.png | Bin 0 -> 39072 bytes .../test_mplot3d/mixedsubplot.svg | 17582 ++++++++++++++ .../test_mplot3d/scatter3d.pdf | Bin 0 -> 11457 bytes .../test_mplot3d/scatter3d.png | Bin 0 -> 43173 bytes .../test_mplot3d/scatter3d.svg | 400 + .../test_mplot3d/surface3d.pdf | Bin 0 -> 566372 bytes .../test_mplot3d/surface3d.png | Bin 0 -> 55442 bytes .../test_mplot3d/surface3d.svg | 19470 ++++++++++++++++ .../baseline_images/test_mplot3d/text3d.pdf | Bin 0 -> 18654 bytes .../baseline_images/test_mplot3d/text3d.png | Bin 0 -> 78452 bytes .../baseline_images/test_mplot3d/text3d.svg | 1220 + .../test_mplot3d/trisurf3d.pdf | Bin 0 -> 169252 bytes .../test_mplot3d/trisurf3d.png | Bin 0 -> 101614 bytes .../test_mplot3d/trisurf3d.svg | 5166 ++++ .../test_mplot3d/wireframe3d.pdf | Bin 0 -> 64257 bytes .../test_mplot3d/wireframe3d.png | Bin 0 -> 108387 bytes .../test_mplot3d/wireframe3d.svg | 3614 +++ lib/mpl_toolkits/tests/test_mplot3d.py | 161 + 33 files changed, 59687 insertions(+), 3 deletions(-) create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.svg create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.svg create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.svg create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.svg create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.svg create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.svg create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.svg create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.svg create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.svg create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.pdf create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.svg create mode 100644 lib/mpl_toolkits/tests/test_mplot3d.py diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 6b8327c4193d..e3c490c3eadd 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -110,6 +110,11 @@ def remove_text(figure): ax.xaxis.set_minor_formatter(ticker.NullFormatter()) ax.yaxis.set_major_formatter(ticker.NullFormatter()) ax.yaxis.set_minor_formatter(ticker.NullFormatter()) + try: + ax.zaxis.set_major_formatter(ticker.NullFormatter()) + ax.zaxis.set_minor_formatter(ticker.NullFormatter()) + except AttributeError: + pass def test(self): baseline_dir, result_dir = _image_directories(self._func) diff --git a/lib/matplotlib/tests/test_backend_pdf.py b/lib/matplotlib/tests/test_backend_pdf.py index 5196476eb72c..99aaac1dd495 100644 --- a/lib/matplotlib/tests/test_backend_pdf.py +++ b/lib/matplotlib/tests/test_backend_pdf.py @@ -1,6 +1,10 @@ # -*- encoding: utf-8 -*- -from matplotlib import rcParams +import io + +import numpy as np + +from matplotlib import cm, rcParams from matplotlib import pyplot as plt from matplotlib.testing.decorators import image_comparison, knownfailureif, cleanup @@ -26,8 +30,6 @@ def test_use14corefonts(): @cleanup def test_type42(): - import io - rcParams['pdf.fonttype'] = 42 fig = plt.figure() diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..18489251692e86df2ff2d6121e26df88dc42e44a GIT binary patch literal 12905 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 T^S)UEOhBNi`S|27C{X`DGp4_` literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.png new file mode 100644 index 0000000000000000000000000000000000000000..9c80f196971eadbdaa9233971b1d99e30ed21493 GIT binary patch literal 100843 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¼_zPh=SR+ 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 `c5%`y!0* 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ͰyP+n;37^AlY17ZX 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 P;ESkjM0l%tCG`IQz%%AU literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.svg new file mode 100644 index 000000000000..0b37edf833a4 --- /dev/null +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d.svg @@ -0,0 +1,942 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a07ca1c5711d55d68c296a02d754640aa83bbee0 GIT binary patch literal 55360 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.png new file mode 100644 index 0000000000000000000000000000000000000000..dc5a214ed20fc220936ab29cf11b019c0d1efd1f GIT binary patch literal 77703 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.svg new file mode 100644 index 000000000000..4ca2fbe05030 --- /dev/null +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.svg @@ -0,0 +1,3217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fbd01e0a226a7d2c16b09336c1fc51e2376fba81 GIT binary patch literal 118421 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.svg new file mode 100644 index 000000000000..37ef1c5eeddd --- /dev/null +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contourf3d.svg @@ -0,0 +1,7416 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4a7dd722a5fadbd1a9dc0092932b6db1400dcb23 GIT binary patch literal 11022 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 NF0QOR!`xW>{{S}~oW1}6 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e595702a964cb256510e9ff960365283a8b86f GIT binary patch literal 59827 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 bdHhXYskk^GjB=q=3V%HNb)3s~n-BaOz7T@P literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.svg new file mode 100644 index 000000000000..ad3f6d71fee4 --- /dev/null +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/lines3d.svg @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4e5d6a3ffbeb33164ae2a2c5475377f8cf1381ef GIT binary patch literal 506122 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%0Dpgz%jO-uLckb&fx+|1^G!@`t%|-tdToyFFAX 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

KhNEB&E-r#+HU8YBs!3)s)7GepcRz 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.svg new file mode 100644 index 000000000000..7d1c93e40451 --- /dev/null +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.svg @@ -0,0 +1,17582 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d994cafb5cc035140a7de6bfd1d02e2e764d483b GIT binary patch literal 11457 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.png new file mode 100644 index 0000000000000000000000000000000000000000..033900be897eac8ee387737c34540310054e56e5 GIT binary patch literal 43173 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.svg new file mode 100644 index 000000000000..e8a79383fad8 --- /dev/null +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/scatter3d.svg @@ -0,0 +1,400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d11eb77e47649bb0b5ef788f6256f63c63ac06de GIT binary patch literal 566372 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%0D%!WfwLJ0jyXWYs9}Z` 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¬|ljjm`R|iK{2Rs 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%0Dv8Ntyk= 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.png new file mode 100644 index 0000000000000000000000000000000000000000..ab05010ba64807c9d7b94226d72211f988a9d6ea GIT binary patch literal 55442 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

ry+&iBXobmTI>!y!^-Q0A1@)_Ex~8DvaF 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 SuT7#&OG!>mwnXMp(EkG-wq0ug literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.svg new file mode 100644 index 000000000000..bb38d58fb98e --- /dev/null +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.svg @@ -0,0 +1,19470 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d4b80a8dbb073d4b1f385f65a28e628763b0d0a5 GIT binary patch literal 18654 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae3fdd741e1e2b5e066582be5da7b5948188f6b GIT binary patch literal 78452 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 Ko1?=$SNtz=cKx;h literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.svg new file mode 100644 index 000000000000..87915696ec97 --- /dev/null +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/text3d.svg @@ -0,0 +1,1220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e04bb21e0218777b4586ef15f1a2e1f8566a30fe GIT binary patch literal 169252 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 TK9d<^!cSmjXZN{hcdP#cJ~<~L literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.png new file mode 100644 index 0000000000000000000000000000000000000000..ca70ddc6fb3f779fa00918e691335c043f1a5c00 GIT binary patch literal 101614 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.svg new file mode 100644 index 000000000000..2053cee0df1f --- /dev/null +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d.svg @@ -0,0 +1,5166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ee3752ca2aa1febaaae063734f60eea9032f59a0 GIT binary patch literal 64257 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/wireframe3d.png new file mode 100644 index 0000000000000000000000000000000000000000..4ddd17179dcbdc184810b5aa22a320b80607022d GIT binary patch literal 108387 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≠Xy29( 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 z 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py new file mode 100644 index 000000000000..91bae834f703 --- /dev/null +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -0,0 +1,161 @@ +from mpl_toolkits.mplot3d import Axes3D, axes3d +from matplotlib import cm +from matplotlib.testing.decorators import image_comparison +import matplotlib.pyplot as plt +import numpy as np + + +@image_comparison(baseline_images=['bar3d'], remove_text=True) +def test_bar3d(): + fig = plt.figure() + ax = fig.add_subplot(111, projection='3d') + for c, z in zip(['r', 'g', 'b', 'y'], [30, 20, 10, 0]): + xs = np.arange(20) + ys = np.arange(20) + cs = [c] * len(xs) + cs[0] = 'c' + ax.bar(xs, ys, zs=z, zdir='y', color=cs, alpha=0.8) + + +@image_comparison(baseline_images=['contour3d'], remove_text=True) +def test_contour3d(): + fig = plt.figure() + ax = fig.gca(projection='3d') + X, Y, Z = axes3d.get_test_data(0.05) + cset = ax.contour(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm) + cset = ax.contour(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm) + cset = ax.contour(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm) + ax.set_xlim(-40, 40) + ax.set_ylim(-40, 40) + ax.set_zlim(-100, 100) + + +@image_comparison(baseline_images=['contourf3d'], remove_text=True) +def test_contourf3d(): + fig = plt.figure() + ax = fig.gca(projection='3d') + X, Y, Z = axes3d.get_test_data(0.05) + cset = ax.contourf(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm) + cset = ax.contourf(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm) + cset = ax.contourf(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm) + ax.set_xlim(-40, 40) + ax.set_ylim(-40, 40) + ax.set_zlim(-100, 100) + + +@image_comparison(baseline_images=['lines3d'], remove_text=True) +def test_lines3d(): + fig = plt.figure() + ax = fig.gca(projection='3d') + theta = np.linspace(-4 * np.pi, 4 * np.pi, 100) + z = np.linspace(-2, 2, 100) + r = z ** 2 + 1 + x = r * np.sin(theta) + y = r * np.cos(theta) + ax.plot(x, y, z) + + +@image_comparison(baseline_images=['mixedsubplot'], remove_text=True) +def test_mixedsubplots(): + def f(t): + s1 = np.cos(2*np.pi*t) + e1 = np.exp(-t) + return np.multiply(s1, e1) + + t1 = np.arange(0.0, 5.0, 0.1) + t2 = np.arange(0.0, 5.0, 0.02) + + fig = plt.figure(figsize=plt.figaspect(2.)) + ax = fig.add_subplot(2, 1, 1) + l = ax.plot(t1, f(t1), 'bo', + t2, f(t2), 'k--', markerfacecolor='green') + ax.grid(True) + + ax = fig.add_subplot(2, 1, 2, projection='3d') + X, Y = np.meshgrid(np.arange(-5, 5, 0.25), np.arange(-5, 5, 0.25)) + R = np.sqrt(X ** 2 + Y ** 2) + Z = np.sin(R) + + surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, + linewidth=0, antialiased=False) + + ax.set_zlim3d(-1, 1) + + +@image_comparison(baseline_images=['scatter3d'], remove_text=True) +def test_scatter3d(): + fig = plt.figure() + ax = fig.add_subplot(111, projection='3d') + ax.scatter(np.arange(10), np.arange(10), np.arange(10), + c='r', marker='o') + ax.scatter(np.arange(10, 20), np.arange(10, 20), np.arange(10, 20), + c='b', marker='^') + + +@image_comparison(baseline_images=['surface3d'], remove_text=True) +def test_surface3d(): + fig = plt.figure() + ax = fig.gca(projection='3d') + X = np.arange(-5, 5, 0.25) + Y = np.arange(-5, 5, 0.25) + X, Y = np.meshgrid(X, Y) + R = np.sqrt(X ** 2 + Y ** 2) + Z = np.sin(R) + surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, + lw=0, antialiased=False) + ax.set_zlim(-1.01, 1.01) + fig.colorbar(surf, shrink=0.5, aspect=5) + + +@image_comparison(baseline_images=['text3d']) +def test_text3d(): + fig = plt.figure() + ax = fig.gca(projection='3d') + + zdirs = (None, 'x', 'y', 'z', (1, 1, 0), (1, 1, 1)) + xs = (2, 6, 4, 9, 7, 2) + ys = (6, 4, 8, 7, 2, 2) + zs = (4, 2, 5, 6, 1, 7) + + for zdir, x, y, z in zip(zdirs, xs, ys, zs): + label = '(%d, %d, %d), dir=%s' % (x, y, z, zdir) + ax.text(x, y, z, label, zdir) + + ax.text(1, 1, 1, "red", color='red') + ax.text2D(0.05, 0.95, "2D Text", transform=ax.transAxes) + ax.set_xlim3d(0, 10) + ax.set_ylim3d(0, 10) + ax.set_zlim3d(0, 10) + ax.set_xlabel('X axis') + ax.set_ylabel('Y axis') + ax.set_zlabel('Z axis') + + +@image_comparison(baseline_images=['trisurf3d'], remove_text=True) +def test_trisurf3d(): + n_angles = 36 + n_radii = 8 + radii = np.linspace(0.125, 1.0, n_radii) + angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False) + angles = np.repeat(angles[..., np.newaxis], n_radii, axis=1) + + x = np.append(0, (radii*np.cos(angles)).flatten()) + y = np.append(0, (radii*np.sin(angles)).flatten()) + z = np.sin(-x*y) + + fig = plt.figure() + ax = fig.gca(projection='3d') + ax.plot_trisurf(x, y, z, cmap=cm.jet, linewidth=0.2) + + +@image_comparison(baseline_images=['wireframe3d'], remove_text=True) +def test_wireframe3d(): + fig = plt.figure() + ax = fig.add_subplot(111, projection='3d') + X, Y, Z = axes3d.get_test_data(0.05) + ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10) + + +if __name__ == '__main__': + import nose + nose.runmodule(argv=['-s', '--with-doctest'], exit=False) From 341dadb89bcc714f7309b0119dafed24d0eb3890 Mon Sep 17 00:00:00 2001 From: Matt Terry Date: Sat, 29 Jun 2013 15:04:20 -0500 Subject: [PATCH 061/329] remove_text=True to test to testing issues --- lib/matplotlib/tests/test_table.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index 6a8e41460d7a..6c173e8087ef 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -3,7 +3,9 @@ from matplotlib.testing.decorators import image_comparison -@image_comparison(baseline_images=['table_zorder'], extensions=['png']) +@image_comparison(baseline_images=['table_zorder'], + extensions=['png'], + remove_text=True) def test_zorder(): data = [[ 66386, 174296,], [ 58230, 381139,]] From a3a0088a869a9ba4d5961ad73a056e0a06c0e099 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 22:22:12 +0200 Subject: [PATCH 062/329] DOC moved barh to new style MEP10 documentation --- lib/matplotlib/axes/_axes.py | 111 ++++++++++++++++++++--------------- 1 file changed, 64 insertions(+), 47 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 96c885b63362..d766b4602612 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2006,68 +2006,85 @@ def barh(self, bottom, width, height=0.8, left=None, **kwargs): """ Make a horizontal bar plot. - Call signature:: - - barh(bottom, width, height=0.8, left=0, **kwargs) - Make a horizontal bar plot with rectangles bounded by: - *left*, *left* + *width*, *bottom*, *bottom* + *height* + `left`, `left` + `width`, `bottom`, `bottom` + `height` (left, right, bottom and top edges) - *bottom*, *width*, *height*, and *left* can be either scalars + `bottom`, `width`, `height`, and `left` can be either scalars or sequences - Return value is a list of + Parameters + ---------- + bottom : scalar or array-like + the y coordinate(s) of the bars + + width : scalar or array-like + the width(s) of the bars + + height : sequence of scalars, optional, default: 0.8 + the heights of the bars + + left : sequence of scalars + the x coordinates of the left sides of the bars + + Returns + -------- :class:`matplotlib.patches.Rectangle` instances. - Required arguments: + Other parameters + ---------------- + color : scalar or array-like, optional + the colors of the bars + + edgecolor : scalar or array-like, optional + the colors of the bar edges - ======== ====================================================== - Argument Description - ======== ====================================================== - *bottom* the vertical positions of the bottom edges of the bars - *width* the lengths of the bars - ======== ====================================================== + linewidth : scalar or array-like, optional, default: None + width of bar edge(s). If None, use default + linewidth; If 0, don't draw edges. - Optional keyword arguments: + xerr : scalar or array-like, optional, default: None + if not None, will be used to generate errorbar(s) on the bar chart - =============== ========================================== - Keyword Description - =============== ========================================== - *height* the heights (thicknesses) of the bars - *left* the x coordinates of the left edges of the - bars - *color* the colors of the bars - *edgecolor* the colors of the bar edges - *linewidth* width of bar edges; None means use default - linewidth; 0 means don't draw edges. - *xerr* if not None, will be used to generate - errorbars on the bar chart - *yerr* if not None, will be used to generate - errorbars on the bar chart - *ecolor* specifies the color of any errorbar - *capsize* (default 3) determines the length in - points of the error bar caps - *align* 'edge' (default) | 'center' - *log* [False|True] False (default) leaves the - horizontal axis as-is; True sets it to log - scale - =============== ========================================== - - Setting *align* = 'edge' aligns bars by their bottom edges in - bottom, while *align* = 'center' interprets these values as - the *y* coordinates of the bar centers. - - The optional arguments *color*, *edgecolor*, *linewidth*, - *xerr*, and *yerr* can be either scalars or sequences of + yerr :scalar or array-like, optional, default: None + if not None, will be used to generate errorbar(s) on the bar chart + + ecolor : scalar or array-like, optional, default: None + specifies the color of errorbar(s) + + capsize : integer, optional, default: 3 + determines the length in points of the error bar caps + + error_kw : + dictionary of kwargs to be passed to errorbar method. `ecolor` and + `capsize` may be specified here rather than as independent kwargs. + + align : ['edge' | 'center'], optional, default: 'edge' + If `edge`, aligns bars by their left edges (for vertical bars) and + by their bottom edges (for horizontal bars). If `center`, interpret + the `left` argument as the coordinates of the centers of the bars. + + orientation : 'vertical' | 'horizontal', optional, default: 'vertical' + The orientation of the bars. + + log : boolean, optional, default: False + If true, sets the axis to be log scale + + Notes + ----- + The optional arguments `color`, `edgecolor`, `linewidth`, + `xerr`, and `yerr` can be either scalars or sequences of length equal to the number of bars. This enables you to use - barh as the basis for stacked bar charts, or candlestick - plots. + bar as the basis for stacked bar charts, or candlestick plots. + Detail: `xerr` and `yerr` are passed directly to + :meth:`errorbar`, so they can also have shape 2xN for + independent specification of lower and upper errors. - other optional kwargs: + Other optional kwargs: %(Rectangle)s + """ patches = self.bar(left=left, height=height, width=width, From 15a1874ccdf662b79ca1d020783b4541e6744c92 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 22:25:48 +0200 Subject: [PATCH 063/329] DOC added links between the barh documentation and the bar documentation --- lib/matplotlib/axes/_axes.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index d766b4602612..40032f975cc2 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1794,6 +1794,13 @@ def bar(self, left, height, width=0.8, bottom=None, **kwargs): %(Rectangle)s + See also + -------- + barh: Plot a horizontal bar plot. + + Example + ------- + **Example:** A stacked bar chart. .. plot:: mpl_examples/pylab_examples/bar_stacked.py @@ -2085,6 +2092,9 @@ def barh(self, bottom, width, height=0.8, left=None, **kwargs): %(Rectangle)s + See also + -------- + bar: Plot a vertical bar plot. """ patches = self.bar(left=left, height=height, width=width, From 090f8d76e40eb4f5b5dd07dffcd3ebf677dc9931 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 22:32:17 +0200 Subject: [PATCH 064/329] DOC small nitpicks --- lib/matplotlib/axes/_axes.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 40032f975cc2..da9697818cd9 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1752,7 +1752,7 @@ def bar(self, left, height, width=0.8, bottom=None, **kwargs): xerr : scalar or array-like, optional, default: None if not None, will be used to generate errorbar(s) on the bar chart - yerr :scalar or array-like, optional, default: None + yerr : scalar or array-like, optional, default: None if not None, will be used to generate errorbar(s) on the bar chart ecolor : scalar or array-like, optional, default: None @@ -1778,7 +1778,7 @@ def bar(self, left, height, width=0.8, bottom=None, **kwargs): Returns ------- - :class:`matplotlib.patches.Rectangle` instances. + `matplotlib.patches.Rectangle` instances. Notes ----- @@ -2037,7 +2037,7 @@ def barh(self, bottom, width, height=0.8, left=None, **kwargs): Returns -------- - :class:`matplotlib.patches.Rectangle` instances. + `matplotlib.patches.Rectangle` instances. Other parameters ---------------- @@ -2054,7 +2054,7 @@ def barh(self, bottom, width, height=0.8, left=None, **kwargs): xerr : scalar or array-like, optional, default: None if not None, will be used to generate errorbar(s) on the bar chart - yerr :scalar or array-like, optional, default: None + yerr : scalar or array-like, optional, default: None if not None, will be used to generate errorbar(s) on the bar chart ecolor : scalar or array-like, optional, default: None From 954eeac72e98888dcb27d18849250be5799e38a7 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sun, 30 Jun 2013 04:54:30 +0200 Subject: [PATCH 065/329] ENH improved the css style of the docs --- doc/_static/mpl.css | 101 +++++++++++++++++++++++++++++++++---- doc/_templates/layout.html | 2 + 2 files changed, 94 insertions(+), 9 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 3c996ccc7b14..e03e949cd88b 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -1,15 +1,14 @@ -/** +/* * Alternate Sphinx design * Originally created by Armin Ronacher for Werkzeug, adapted by Georg Brandl. */ body { - font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif; + font-family: "Raleway", "Helvetica Neue", Helvetica, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif; font-size: 14px; letter-spacing: -0.01em; line-height: 150%; text-align: center; - /*background-color: #AFC1C4; */ background-color: #BFD1D4; color: black; padding: 0; @@ -24,6 +23,10 @@ a { text-decoration: none; } +strong { + font-weight: strong; +} + a:hover { color: #2491CF; } @@ -103,7 +106,7 @@ dl { } dd p { - margin-top: 0px; + margin-top: 1px; } dd ul, dd table { @@ -251,7 +254,7 @@ div.sphinxsidebar ul ul { } p { - margin: 0.8em 0 0.5em 0; + margin: 0.8em 0 0.8em 0; } p.rubric { @@ -518,24 +521,104 @@ table.docutils { table.docutils tr:nth-child(even) { background-color: #F3F3FF; } + table.docutils tr:nth-child(odd) { background-color: #FFFFEE; } -table.docutils tr { - border-style: solid none solid none; - border-width: 1px 0 1px 0; - border-color: #AAAAAA; +/* module summary table */ +.longtable.docutils { + font-size: 12px; + margin-bottom: 30px; + background-color: #ccc; +} +.longtable.docutils, .longtable.docutils td { + border-color: #ccc; +} + +/* function and class description */ +dl.class, dl.function, dl.method, dl.attribute { + border-top: 1px solid #ccc; + padding-top: 10px; +} +.descclassname { + color: #aaa; + font-weight: normal; + font-family: monospace; } +.descname { + font-family: monospace; +} + +/* module summary table */ +.longtable.docutils { + font-size: 12px; + margin-bottom: 30px; +} +.longtable.docutils, .longtable.docutils td { + border-color: #ccc; +} + +/* function and class description */ +dl.class, dl.function, dl.method, dl.attribute { + border-top: 1px solid #ccc; + padding-top: 10px; +} +.descclassname { + color: #aaa; + font-weight: normal; + font-family: monospace; +} +.descname { + font-family: monospace; +} + table.docutils th { padding: 1px 8px 1px 5px; + background-color: #eee; + width: 100px; } table.docutils td { border-width: 1px 0 1px 0; } + +dl.class em, dl.function em, dl.class big, dl.function big { + font-weight: normal; + font-family: monospace; +} +dl.class dd, dl.function dd { + padding: 10px; +} +.docutils.field-list th { + background-color: #eee; + padding: 10px; + text-align: left; + vertical-align: top; + width: 120px; +} +.docutils.field-list td { + padding: 10px 10px 10px 20px; + text-align: left; + vertical-align: top; +} +.docutils.field-list td blockquote p { + font-size: 13px; + line-height: 18px; +} +p.rubric { + font-weight: bold; + font-size: 19px; + margin: 15px 0 10px 0; +} +p.admonition-title { + font-weight: bold; + text-decoration: underline; +} + + #matplotlib-examples ul li{ font-size: large; } diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index 890ffcc2f009..09f5000d46a7 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -1,5 +1,7 @@ {% extends "!layout.html" %} + + {% block rootrellink %}

  • home
  • examples
  • From 4a1dc520b6b3f4adae6f0f00d47cf25e7f438926 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Thu, 4 Jul 2013 18:41:38 +0200 Subject: [PATCH 066/329] ENH docstring is now PEP8 --- lib/matplotlib/docstring.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/docstring.py b/lib/matplotlib/docstring.py index dd2f23885e19..4f36345952a5 100644 --- a/lib/matplotlib/docstring.py +++ b/lib/matplotlib/docstring.py @@ -3,6 +3,7 @@ import sys import types + class Substitution(object): """ A decorator to take a function's docstring and perform string @@ -32,7 +33,8 @@ def some_function(x): "%s %s wrote the Raven" """ def __init__(self, *args, **kwargs): - assert not (args and kwargs), "Only positional or keyword args are allowed" + assert (not (args and kwargs), + "Only positional or keyword args are allowed") self.params = args or kwargs def __call__(self, func): @@ -46,15 +48,16 @@ def update(self, *args, **kwargs): @classmethod def from_params(cls, params): """ - In the case where the params is a mutable sequence (list or dictionary) - and it may change before this class is called, one may explicitly use - a reference to the params rather than using *args or **kwargs which will - copy the values and not reference them. + In the case where the params is a mutable sequence (list or + dictionary) and it may change before this class is called, one may + explicitly use a reference to the params rather than using *args or + **kwargs which will copy the values and not reference them. """ result = cls() result.params = params return result + class Appender(object): """ A function decorator that will append an addendum to the docstring @@ -83,11 +86,13 @@ def __call__(self, func): func.__doc__ = func.__doc__ and ''.join(docitems) return func + def dedent(func): "Dedent a docstring (if present)" func.__doc__ = func.__doc__ and cbook.dedent(func.__doc__) return func + def copy(source): "Copy a docstring from another source function (if present)" def do_copy(target): @@ -100,6 +105,7 @@ def do_copy(target): # is reused throughout matplotlib interpd = Substitution() + def dedent_interpd(func): """A special case of the interpd that first performs a dedent on the incoming docstring""" @@ -107,6 +113,7 @@ def dedent_interpd(func): func = func.im_func return interpd(dedent(func)) + def copy_dedent(source): """A decorator that will copy the docstring from the source and then dedent it""" From 0e1cb9ee8992c69991631eae3d0009ee86094e8b Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Thu, 4 Jul 2013 19:02:38 +0200 Subject: [PATCH 067/329] FIX small fixes in numpydoc's titles Numpydoc does not accept the following titles - Note (should be Notes) - Example (should be Examples) --- lib/matplotlib/axes/_axes.py | 4 ++-- lib/matplotlib/pyplot.py | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 1d9674b0a4fd..45ca3bf58722 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1799,8 +1799,8 @@ def bar(self, left, height, width=0.8, bottom=None, **kwargs): -------- barh: Plot a horizontal bar plot. - Example - ------- + Examples + -------- **Example:** A stacked bar chart. diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 0709f85a2dc2..edfe2035d297 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -262,13 +262,15 @@ def xkcd(scale=1, length=100, randomness=2): Parameters ---------- - scale: float, optional + scale : float, optional The amplitude of the wiggle perpendicular to the source line. - length: float, optional + length : float, optional The length of the wiggle along the line. - randomness: float, optional + randomness : float, optional The scale factor by which the length is shrunken or expanded. + Notes + ----- This function works by a number of rcParams, so it will probably override others you have set before. @@ -359,8 +361,8 @@ def figure(num=None, # autoincrement if None, else integer from 1-N pylab interface. Additional kwargs will be passed to the figure init function. - Note - ---- + Notes + ----- If you are creating many figures, make sure you explicitly call "close" on the figures you are not using, because this will enable pylab to properly clean up the memory. From 21aa6e40ff7c032512ddc04c1550f87c0734b93d Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Thu, 4 Jul 2013 18:06:59 +0200 Subject: [PATCH 068/329] DOC acorr is now in numpydoc format --- lib/matplotlib/axes/_axes.py | 152 +++++++++++++++++------------------ 1 file changed, 74 insertions(+), 78 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 45ca3bf58722..5cdeb8ab4e39 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1531,63 +1531,61 @@ def semilogy(self, *args, **kwargs): @docstring.dedent_interpd def acorr(self, x, **kwargs): """ - Plot the autocorrelation of *x*. + Plot the autocorrelation of `x`. - Call signature:: - - acorr(x, normed=True, detrend=mlab.detrend_none, usevlines=True, - maxlags=10, **kwargs) - - If *normed* = *True*, normalize the data by the autocorrelation at - 0-th lag. *x* is detrended by the *detrend* callable (default no - normalization). - - Data are plotted as ``plot(lags, c, **kwargs)`` - - Return value is a tuple (*lags*, *c*, *line*) where: + Parameters + ---------- - - *lags* are a length 2*maxlags+1 lag vector + x : sequence of scalar - - *c* is the 2*maxlags+1 auto correlation vector + hold : boolean, optional, default: True - - *line* is a :class:`~matplotlib.lines.Line2D` instance - returned by :meth:`plot` + detrend : callable, optional, default: `mlab.detrend_none` + x is detrended by the `detrend` callable. Default is no + normalization. - The default *linestyle* is None and the default *marker* is - ``'o'``, though these can be overridden with keyword args. - The cross correlation is performed with - :func:`numpy.correlate` with *mode* = 2. + normed : boolean, optional, default: True + if True, normalize the data by the autocorrelation at the 0-th + lag. - If *usevlines* is *True*, :meth:`~matplotlib.axes.Axes.vlines` - rather than :meth:`~matplotlib.axes.Axes.plot` is used to draw - vertical lines from the origin to the acorr. Otherwise, the - plot style is determined by the kwargs, which are - :class:`~matplotlib.lines.Line2D` properties. + usevlines : boolean, optional, default: True + if True, Axes.vlines is used to plot the vertical lines from the origin + to the acorr. Otherwise, Axes.plot is used. - *maxlags* is a positive integer detailing the number of lags - to show. The default value of *None* will return all - ``(2*len(x)-1)`` lags. + maxlags : integer, optional, default: 10 + number of lags to show. If None, will return all 2 * len(x) - 1 + lags. - The return value is a tuple (*lags*, *c*, *linecol*, *b*) - where + Returns + ------- + (lags, c, line, b) : where: - - *linecol* is the - :class:`~matplotlib.collections.LineCollection` + - `lags` are a length 2`maxlags+1 lag vector. + - `c` is the 2`maxlags+1 auto correlation vectorI + - `line` is a `~matplotlib.lines.Line2D` instance returned by + `plot`. + - `b` is the x-axis. - - *b* is the *x*-axis. + Other parameters + ----------------- + linestyle : `~matplotlib.lines.Line2D` properties, optional, default: None + Only used if usevlines is False. - .. seealso:: + marker : string, optional, default: 'o' - :meth:`~matplotlib.axes.Axes.plot` or - :meth:`~matplotlib.axes.Axes.vlines` - For documentation on valid kwargs. + Notes + ----- + The cross correlation is performed with :func:`numpy.correlate` with + `mode` = 2. - **Example:** + Examples + -------- - :func:`~matplotlib.pyplot.xcorr` is top graph, and - :func:`~matplotlib.pyplot.acorr` is bottom graph. + `~matplotlib.pyplot.xcorr` is top graph, and + `~matplotlib.pyplot.acorr` is bottom graph. .. plot:: mpl_examples/pylab_examples/xcorr_demo.py + """ return self.xcorr(x, x, **kwargs) @@ -1597,54 +1595,52 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, """ Plot the cross correlation between *x* and *y*. - Call signature:: - - xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, - usevlines=True, maxlags=10, **kwargs) - - If *normed* = *True*, normalize the data by the cross - correlation at 0-th lag. *x* and y are detrended by the - *detrend* callable (default no normalization). *x* and *y* - must be equal length. - - Data are plotted as ``plot(lags, c, **kwargs)`` - - Return value is a tuple (*lags*, *c*, *line*) where: + Parameters + ---------- - - *lags* are a length ``2*maxlags+1`` lag vector + x : sequence of scalars of length n + + y : sequence of scalars of length n - - *c* is the ``2*maxlags+1`` auto correlation vector + hold : boolean, optional, default: True - - *line* is a :class:`~matplotlib.lines.Line2D` instance - returned by :func:`~matplotlib.pyplot.plot`. + detrend : callable, optional, default: `mlab.detrend_none` + x is detrended by the `detrend` callable. Default is no + normalization. - The default *linestyle* is *None* and the default *marker* is - 'o', though these can be overridden with keyword args. The - cross correlation is performed with :func:`numpy.correlate` - with *mode* = 2. + normed : boolean, optional, default: True + if True, normalize the data by the autocorrelation at the 0-th + lag. - If *usevlines* is *True*: + usevlines : boolean, optional, default: True + if True, Axes.vlines is used to plot the vertical lines from the origin + to the acorr. Otherwise, Axes.plot is used. - :func:`~matplotlib.pyplot.vlines` - rather than :func:`~matplotlib.pyplot.plot` is used to draw - vertical lines from the origin to the xcorr. Otherwise the - plotstyle is determined by the kwargs, which are - :class:`~matplotlib.lines.Line2D` properties. + maxlags : integer, optional, default: 10 + number of lags to show. If None, will return all 2 * len(x) - 1 + lags. - The return value is a tuple (*lags*, *c*, *linecol*, *b*) - where *linecol* is the - :class:`matplotlib.collections.LineCollection` instance and - *b* is the *x*-axis. + Returns + ------- + (lags, c, line, b) : where: - *maxlags* is a positive integer detailing the number of lags to show. - The default value of *None* will return all ``(2*len(x)-1)`` lags. + - `lags` are a length 2`maxlags+1 lag vector. + - `c` is the 2`maxlags+1 auto correlation vectorI + - `line` is a `~matplotlib.lines.Line2D` instance returned by + `plot`. + - `b` is the x-axis (none, if plot is used). - **Example:** + Other parameters + ----------------- + linestyle : `~matplotlib.lines.Line2D` properties, optional, default: None + Only used if usevlines is False. - :func:`~matplotlib.pyplot.xcorr` is top graph, and - :func:`~matplotlib.pyplot.acorr` is bottom graph. + marker : string, optional, default: 'o' - .. plot:: mpl_examples/pylab_examples/xcorr_demo.py + Notes + ----- + The cross correlation is performed with :func:`numpy.correlate` with + `mode` = 2. """ Nx = len(x) From e015a0c15e9690f815f7256e246c83f028038d43 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Fri, 5 Jul 2013 12:28:02 +0200 Subject: [PATCH 069/329] DOC nitpicks on the acorr methods --- lib/matplotlib/axes/_axes.py | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 5cdeb8ab4e39..017dd19c810b 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -129,8 +129,7 @@ def set_title(self, label, fontdict=None, loc="center", **kwargs): default = { 'fontsize': rcParams['axes.titlesize'], 'verticalalignment': 'baseline', - 'horizontalalignment': loc.lower() - } + 'horizontalalignment': loc.lower()} title.set_text(label) title.update(default) if fontdict is not None: @@ -455,7 +454,7 @@ def text(self, x, y, s, fontdict=None, """ Add text to the axes. - Add text in string *s* to axis at location *x*, *y*, data + Add text in string `s` to axis at location `x`, `y`, data coordinates. Parameters @@ -496,7 +495,7 @@ def text(self, x, y, s, fontdict=None, ... transform=ax.transAxes) You can put a rectangular box around the text instance (e.g., to - set a background color) by using the keyword *bbox*. *bbox* is + set a background color) by using the keyword `bbox`. `bbox` is a dictionary of `~matplotlib.patches.Rectangle` properties. For example:: @@ -506,8 +505,7 @@ def text(self, x, y, s, fontdict=None, 'verticalalignment': 'baseline', 'horizontalalignment': 'left', 'transform': self.transData, - 'clip_on': False - } + 'clip_on': False} # At some point if we feel confident that TextWithDash # is robust as a drop-in replacement for Text and that @@ -803,15 +801,13 @@ def axvspan(self, xmin, xmax, ymin=0, ymax=1, **kwargs): @docstring.dedent def hlines(self, y, xmin, xmax, colors='k', linestyles='solid', - label='', **kwargs): + label='', **kwargs): """ - Plot horizontal lines. - Plot horizontal lines at each `y` from `xmin` to `xmax`. Parameters ---------- - y : scalar or 1D array_like + y : scalar or sequence of scalar y-indexes where to plot the lines. xmin, xmax : scalar or 1D array_like @@ -1549,10 +1545,10 @@ def acorr(self, x, **kwargs): lag. usevlines : boolean, optional, default: True - if True, Axes.vlines is used to plot the vertical lines from the origin - to the acorr. Otherwise, Axes.plot is used. + if True, Axes.vlines is used to plot the vertical lines from the + origin to the acorr. Otherwise, Axes.plot is used. - maxlags : integer, optional, default: 10 + maxlags : integer, optional, default: 10 number of lags to show. If None, will return all 2 * len(x) - 1 lags. @@ -1568,7 +1564,7 @@ def acorr(self, x, **kwargs): Other parameters ----------------- - linestyle : `~matplotlib.lines.Line2D` properties, optional, default: None + linestyle : `~matplotlib.lines.Line2D` prop, optional, default: None Only used if usevlines is False. marker : string, optional, default: 'o' @@ -1599,7 +1595,7 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, ---------- x : sequence of scalars of length n - + y : sequence of scalars of length n hold : boolean, optional, default: True @@ -1613,10 +1609,10 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, lag. usevlines : boolean, optional, default: True - if True, Axes.vlines is used to plot the vertical lines from the origin - to the acorr. Otherwise, Axes.plot is used. + if True, Axes.vlines is used to plot the vertical lines from the + origin to the acorr. Otherwise, Axes.plot is used. - maxlags : integer, optional, default: 10 + maxlags : integer, optional, default: 10 number of lags to show. If None, will return all 2 * len(x) - 1 lags. @@ -1632,7 +1628,7 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, Other parameters ----------------- - linestyle : `~matplotlib.lines.Line2D` properties, optional, default: None + linestyle : `~matplotlib.lines.Line2D` prop, optional, default: None Only used if usevlines is False. marker : string, optional, default: 'o' From 7898bbbc21e7cb83588e45681511c3dca786a0f5 Mon Sep 17 00:00:00 2001 From: Damon McDougall Date: Fri, 5 Jul 2013 21:53:40 -0400 Subject: [PATCH 070/329] Make nonposy='clip' default for log scale y-axes --- lib/matplotlib/axes/_base.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 99f09156a006..4201c78fda23 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2544,6 +2544,10 @@ def set_xscale(self, value, **kwargs): Different kwargs are accepted, depending on the scale: %(scale_docs)s """ + # If the scale is being set to log, clip nonposx to prevent headaches + # around zero + if value.lower() == 'log' and 'nonposx' not in kwargs.keys(): + kwargs['nonposx'] = 'clip' self.xaxis._set_scale(value, **kwargs) self.autoscale_view(scaley=False) self._update_transScale() @@ -2770,6 +2774,10 @@ def set_yscale(self, value, **kwargs): Different kwargs are accepted, depending on the scale: %(scale_docs)s """ + # If the scale is being set to log, clip nonposy to prevent headaches + # around zero + if value.lower() == 'log' and 'nonposy' not in kwargs.keys(): + kwargs['nonposy'] = 'clip' self.yaxis._set_scale(value, **kwargs) self.autoscale_view(scalex=False) self._update_transScale() From 5ce866c0e536baaca5fc80142add6dba1c255143 Mon Sep 17 00:00:00 2001 From: Puneeth Chaganti Date: Sat, 6 Jul 2013 12:25:18 +0530 Subject: [PATCH 071/329] Try importing PySide, if we can't find sip. If no QT_API is specified, we use the value in rcParams and the default value for this is PyQt. If a user has PySide installed, trying to use the qt backend fails, unless QT_API is specified or the config file is modified. This commit, adds code to try and import PySide, if an import of PyQt fails. --- lib/matplotlib/backends/qt4_compat.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/qt4_compat.py b/lib/matplotlib/backends/qt4_compat.py index edaa172e28ef..9904c5579f8e 100644 --- a/lib/matplotlib/backends/qt4_compat.py +++ b/lib/matplotlib/backends/qt4_compat.py @@ -31,9 +31,19 @@ # of file dialog. _getSaveFileName = None +# Flag to check if sip could be imported +_sip_imported = False + # Now perform the imports. if QT_API in (QT_API_PYQT, QT_API_PYQTv2): - import sip + try: + import sip + _sip_imported = True + except ImportError: + # Try using PySide + QT_API = QT_API_PYSIDE + +if _sip_imported: if QT_API == QT_API_PYQTv2: if QT_API_ENV == 'pyqt': cond = ("Found 'QT_API=pyqt' environment variable. " @@ -76,7 +86,7 @@ # call to getapi() can fail in older versions of sip _getSaveFileName = QtGui.QFileDialog.getSaveFileName -else: # can only be pyside +else: # try importing pyside from PySide import QtCore, QtGui, __version__, __version_info__ if __version_info__ < (1, 0, 3): raise ImportError( From f85e32285b271bcb7b7ca50debefb3f57fe08e28 Mon Sep 17 00:00:00 2001 From: Puneeth Chaganti Date: Wed, 3 Jul 2013 08:33:59 +0530 Subject: [PATCH 072/329] [DOC] Add documentation for the QT_API environment variable. --- doc/faq/usage_faq.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/faq/usage_faq.rst b/doc/faq/usage_faq.rst index 5d17b9c34e36..749151f9f3a9 100644 --- a/doc/faq/usage_faq.rst +++ b/doc/faq/usage_faq.rst @@ -284,7 +284,20 @@ macosx Cocoa rendering in OSX windows .. _TkInter: http://wiki.python.org/moin/TkInter .. _PyQt4: http://www.riverbankcomputing.co.uk/software/pyqt/intro +How do I select PyQt4 or PySide? +======================================== +You can choose either PyQt4 or PySide when using the `qt4` backend by setting +the appropriate value for `backend.qt4` in your :file:`matplotlibrc` file. The +default value is `PyQt4`. + +The setting in your :file:`matplotlibrc` file can be overridden by setting the +`QT_API` environment variable to either `pyqt` or `pyside` to use `PyQt4` or +`PySide`, respectively. + +Since the default value for the bindings to be used is `PyQt4`, +:mod:`matplotlib` first tries to import it, if the import fails, it tries to +import `PySide`. .. _interactive-mode: From 5f07a2942aeb7b8dbdd6ee787264bf89e63c8c40 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Thu, 4 Jul 2013 18:30:05 +0200 Subject: [PATCH 073/329] DOC annotate is now in numpydoc format --- lib/matplotlib/axes/_axes.py | 42 +++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 017dd19c810b..8ff1f40fcf3e 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -537,15 +537,47 @@ def annotate(self, *args, **kwargs): Create an annotation: a piece of text referring to a data point. - Call signature:: + Parameters + ---------- + s : string + label - annotate(s, xy, xytext=None, xycoords='data', - textcoords='data', arrowprops=None, **kwargs) + xy : (x, y) + position of element to annotate - Keyword arguments: + xytext : (x, y) , optional, default: None + position of the label `s` + + xycoords : string, optional, default: "data" + string that indicates what tye of coordinates `xy` is. Examples: + "figure points", "figure pixels", "figure fraction", "axes + points", .... See `matplotlib.text.Annotation` for more details. + + textcoords : string, optional, default: None + string that indicates what type of coordinates `text` is. Examples: + "figure points", "figure pixels", "figure fraction", "axes + points", .... See `matplotlib.text.Annotation` for more details. + + arrowprops : `matplotlib.lines.Line2D` properties, optional, default: None + Dictionnary of line properties for the arrow that connects the + annotation to the point. If the dictionnary has a key + `arrowstyle`, a `FancyArrowPatch` instance is created and drawn. + See `matplotlib.text.Annotation` for more details on valid + options. + + Returns + ------- + a : `~matplotlib.text.Annotation` + + + Others parameters + ----------------- %(Annotation)s + Examples + -------- + .. plot:: mpl_examples/pylab_examples/annotation_demo2.py """ a = mtext.Annotation(*args, **kwargs) @@ -710,7 +742,7 @@ def axhspan(self, ymin, ymax, xmin=0, xmax=1, **kwargs): Return value is a :class:`matplotlib.patches.Polygon` instance. - Examples: + Examples: * draw a gray rectangle from *y* = 0.25-0.75 that spans the horizontal extent of the axes:: From 9e3c35e7d1c10405a81528d60f7d215fa854fbb2 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Tue, 9 Jul 2013 14:58:05 +0200 Subject: [PATCH 074/329] DOC fix typo in the annotate method --- lib/matplotlib/axes/_axes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 8ff1f40fcf3e..26ea42417d88 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -570,7 +570,7 @@ def annotate(self, *args, **kwargs): a : `~matplotlib.text.Annotation` - Others parameters + Other parameters ----------------- %(Annotation)s From 7fdc127214044223e278458050ac5e28e729516f Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Tue, 9 Jul 2013 10:19:10 -1000 Subject: [PATCH 075/329] Add namespace package mpl_toolkits to package meta-data --- setup.py | 3 +++ setupext.py | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/setup.py b/setup.py index 6d8bc24d5534..20d088801044 100644 --- a/setup.py +++ b/setup.py @@ -120,6 +120,7 @@ # These are distutils.setup parameters that the various packages add # things to. packages = [] + namespace_packages = [] py_modules = [] ext_modules = [] package_data = {} @@ -177,6 +178,7 @@ if isinstance(package, str): continue packages.extend(package.get_packages()) + namespace_packages.extend(package.get_namespace_packages()) py_modules.extend(package.get_py_modules()) ext = package.get_extension() if ext is not None: @@ -220,6 +222,7 @@ """, license="BSD", packages=packages, + namespace_packages = namespace_packages, platforms='any', py_modules=py_modules, ext_modules=ext_modules, diff --git a/setupext.py b/setupext.py index 52c1e716f0b8..c0d8fd5a6c62 100644 --- a/setupext.py +++ b/setupext.py @@ -361,6 +361,15 @@ def get_packages(self): """ return [] + def get_namespace_packages(self): + """ + Get a list of namespace package names to add to the configuration. + These are added to the `namespace_packages` list passed to + `distutils.setup`. + """ + return [] + + def get_py_modules(self): """ Get a list of top-level modules to add to the configuration. @@ -576,6 +585,9 @@ def get_packages(self): 'mpl_toolkits.axisartist', ] + def get_namespace_packages(self): + return ['mpl_toolkits'] + class Tests(OptionalPackage): name = "tests" From 5ca6af95ed6a2dd4cc58a984bda5a5e72fe22b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo?= Date: Thu, 11 Jul 2013 23:19:09 -0300 Subject: [PATCH 076/329] Fixing small typo in the plot tutorial. --- doc/users/pyplot_tutorial.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/users/pyplot_tutorial.rst b/doc/users/pyplot_tutorial.rst index 9c67249ac9f0..65098b6c0b69 100644 --- a/doc/users/pyplot_tutorial.rst +++ b/doc/users/pyplot_tutorial.rst @@ -71,7 +71,7 @@ several ways to set line properties * Use the setter methods of the ``Line2D`` instance. ``plot`` returns a list - of lines; eg ``line1, line2 = plot(x1,y1,x2,x2)``. Below I have only + of lines; eg ``line1, line2 = plot(x1,y1,x2,y2)``. Below I have only one line so it is a list of length 1. I use tuple unpacking in the ``line, = plot(x, y, 'o')`` to get the first element of the list:: From f84b51b92a14d2dfbb53885695a2aa62ad2ee5ec Mon Sep 17 00:00:00 2001 From: Adam Heck Date: Thu, 11 Jul 2013 22:11:03 -0500 Subject: [PATCH 077/329] Fix for false detection of gtk3 --- setupext.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setupext.py b/setupext.py index 52c1e716f0b8..a93635760e90 100644 --- a/setupext.py +++ b/setupext.py @@ -1462,7 +1462,7 @@ def check(self): raise CheckFailed("Can't build with Travis") if sys.version_info[0] >= 3: - return "gtk3agg backend does not work on Python 3" + raise CheckFailed("gtk3agg backend does not work on Python 3") # This check needs to be performed out-of-process, because # importing gi and then importing regular old pygtk afterward From f8344a14504f35d97509498b9fc103eb19b9fc77 Mon Sep 17 00:00:00 2001 From: Andrew Dawson Date: Thu, 4 Jul 2013 13:20:41 +0100 Subject: [PATCH 078/329] Fix support for datetime axes in 2d plots. Fixes the error raisesd when 2d datetime coordinates are passed to contour/contourf and the errors when 1d or 2d datetime coordinates are passed to pcolor/pcolormesh. --- CHANGELOG | 9 +++ doc/users/whats_new.rst | 26 +++++++++ lib/matplotlib/axes/_axes.py | 11 ++++ lib/matplotlib/dates.py | 30 +++++++++- .../test_axes/pcolor_datetime_axis.png | Bin 0 -> 36842 bytes .../test_axes/pcolormesh_datetime_axis.png | Bin 0 -> 36842 bytes .../test_contour/contour_datetime_axis.png | Bin 0 -> 57449 bytes lib/matplotlib/tests/test_axes.py | 54 ++++++++++++++++++ lib/matplotlib/tests/test_contour.py | 28 +++++++++ lib/matplotlib/units.py | 5 ++ 10 files changed, 160 insertions(+), 3 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/pcolor_datetime_axis.png create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/pcolormesh_datetime_axis.png create mode 100644 lib/matplotlib/tests/baseline_images/test_contour/contour_datetime_axis.png diff --git a/CHANGELOG b/CHANGELOG index 345d5f8f295f..2d76aeda2892 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,12 @@ +2013-07-12 Added support for datetime axes to 2d plots. Axis values are passed + through Axes.convert_xunits/Axes.convert_yunits before being used by + contour/contourf, pcolormesh and pcolor. + +2013-07-12 Allowed matplotlib.dates.date2num, matplotlib.dates.num2date, + and matplotlib.dates.datestr2num to accept n-d inputs. Also + factored in support for n-d arrays to matplotlib.dates.DateConverter + and matplotlib.units.Registry. + 2013-06-26 Refactored the axes module: the axes module is now a folder, containing the following submodule: - _subplots.py, containing all the subplots helper methods diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 2017452f6cbf..24f09ac3f30b 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -18,6 +18,32 @@ revision, see the :ref:`github-stats`. .. contents:: Table of Contents :depth: 3 +.. _whats-new-1-4: + +new in matplotlib-1.4 +===================== + +New plotting features +--------------------- + +Support for datetime axes in 2d plots +````````````````````````````````````` +Andrew Dawson added support for datetime axes to +:func:`~matplotlib.pyplot.contour`, :func:`~matplotlib.pyplot.contourf`, +:func:`~matplotlib.pyplot.pcolormesh` and :func:`~matplotlib.pyplot.pcolor`. + + +Date handling +------------- + +n-d array support for date conversion +`````````````````````````````````````` +Andrew Dawson added support for n-d array handling to +:func:`matplotlib.dates.num2date`, :func:`matplotlib.dates.date2num` +and :func:`matplotlib.dates.datestr2num`. Support is also added to the unit +conversion interfaces :class:`matplotlib.dates.DateConverter` and +:class:`matplotlib.units.Registry`. + .. _whats-new-1-3: new in matplotlib-1.3 diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 1d9674b0a4fd..13bc9aca15f3 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -4472,10 +4472,16 @@ def pcolor(self, *args, **kwargs): X, Y, C = self._pcolorargs('pcolor', *args, allmatch=False) Ny, Nx = X.shape + # unit conversion allows e.g. datetime objects as axis values + self._process_unit_info(xdata=X, ydata=Y, kwargs=kwargs) + X = self.convert_xunits(X) + Y = self.convert_yunits(Y) + # convert to MA, if necessary. C = ma.asarray(C) X = ma.asarray(X) Y = ma.asarray(Y) + mask = ma.getmaskarray(X) + ma.getmaskarray(Y) xymask = (mask[0:-1, 0:-1] + mask[1:, 1:] + mask[0:-1, 1:] + mask[1:, 0:-1]) @@ -4668,6 +4674,11 @@ def pcolormesh(self, *args, **kwargs): X = X.ravel() Y = Y.ravel() + # unit conversion allows e.g. datetime objects as axis values + self._process_unit_info(xdata=X, ydata=Y, kwargs=kwargs) + X = self.convert_xunits(X) + Y = self.convert_yunits(Y) + coords = np.zeros(((Nx * Ny), 2), dtype=float) coords[:, 0] = X coords[:, 1] = Y diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index c548975731f2..3bb355d6bc6c 100755 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -203,6 +203,10 @@ def _to_ordinalf(dt): return base +# a version of _to_ordinalf that can operate on numpy arrays +_to_ordinalf_np_vectorized = np.vectorize(_to_ordinalf) + + def _from_ordinalf(x, tz=None): """ Convert Gregorian float of the date, preserving hours, minutes, @@ -229,6 +233,10 @@ def _from_ordinalf(x, tz=None): return dt +# a version of _from_ordinalf that can operate on numpy arrays +_from_ordinalf_np_vectorized = np.vectorize(_from_ordinalf) + + class strpdate2num: """ Use this class to parse date strings to matplotlib datenums when @@ -246,6 +254,10 @@ def __call__(self, s): return date2num(datetime.datetime(*time.strptime(s, self.fmt)[:6])) +# a version of dateutil.parser.parse that can operate on nump0y arrays +_dateutil_parser_parse_np_vectorized = np.vectorize(dateutil.parser.parse) + + def datestr2num(d): """ Convert a date string to a datenum using @@ -256,7 +268,10 @@ def datestr2num(d): dt = dateutil.parser.parse(d) return date2num(dt) else: - return date2num([dateutil.parser.parse(s) for s in d]) + d = np.asarray(d) + if not d.size: + return d + return date2num(_dateutil_parser_parse_np_vectorized(d)) def date2num(d): @@ -273,7 +288,10 @@ def date2num(d): if not cbook.iterable(d): return _to_ordinalf(d) else: - return np.asarray([_to_ordinalf(val) for val in d]) + d = np.asarray(d) + if not d.size: + return d + return _to_ordinalf_np_vectorized(d) def julian2num(j): @@ -310,7 +328,10 @@ def num2date(x, tz=None): if not cbook.iterable(x): return _from_ordinalf(x, tz) else: - return [_from_ordinalf(val, tz) for val in x] + x = np.asarray(x) + if not x.size: + return x + return _from_ordinalf_np_vectorized(x, tz).tolist() def drange(dstart, dend, delta): @@ -1292,6 +1313,9 @@ def convert(value, unit, axis): @staticmethod def default_units(x, axis): 'Return the tzinfo instance of *x* or of its first element, or None' + if isinstance(x, np.ndarray): + x = x.ravel() + try: x = x[0] except (TypeError, IndexError): diff --git a/lib/matplotlib/tests/baseline_images/test_axes/pcolor_datetime_axis.png b/lib/matplotlib/tests/baseline_images/test_axes/pcolor_datetime_axis.png new file mode 100644 index 0000000000000000000000000000000000000000..05b451f940c8bba348da658fd0332b5653ec1320 GIT binary patch literal 36842 zcmeFZby$^Kw>G{M8&PQy1Vu$cKxvRL2$2@)lX<`_~&*?&lkQwZS_dS7KJ+h4EgU!x=@-i3Uvh~ zE`0x~Q^MSkv(wY=J)xzxmZUeI^`42N{D^u!-MDu=qSEV`+(+%82Ue%a3K?k~YP=&J zW1|&C>W}w}T@ZP$INC6KBH#U;8N;b(H|I`2&(f1In8NK`8=+uR`PN*@KHb{vUY+EV zX3v)FJYs9R5X&3ux+oVDdm8Qsg}Qf?CY$^46>1fa_`>0)!~XV1KPi1BAH3VNy zNl2iIE6CbfA#8fhsELSdb*>i z63)Yk@H*{FY&K97#G+9qJl+s;lNR0FEJ;i29~6|mF?jAWpR(sU6pHh9@KMyv$%Pjm zo=8id6WE#v@A@D?4%0?PNJvUfPE06gWMou1?c?n&XK&A`prjODUF}(!Y-ngG@8D2m z%6$oC$IQnUhfYbs44-9!&mA=$G^bkQi1A97efm^bTwMIAhK3X+m)YCVQEgh<6xH*49+QYob3g0W(@7%d#H}m6au@la&p63#AXRPmI_2PEa zTh|4SU>91+d&eT9qB?%&>HZ$84_NJ#5t2)jPRtSt2n@VVi{9Pcb+LDLcGkOn@sV7F zix6^g`84VFXe|%%p)z}0r+9;wIFSG{W}6ae0%o?gsLZq?lSufI#P1xIDjEBrudgqz z+PchyDm&JVUs71^oP`|C$z;pCFkdo0O)}!^WW7PY!L78j^V%c7Z;*)%`OVa+2($7; zk@vGJ(JxpW;M-aEh>?`fIQy91ZC82Me62vSBbSUIEUMV8=k#_bTH6PUZuOJOGOQFY zH1faq>-0Mwbf<7ZD>3uzjIxTi_Hg?dw2ZG&>PvgEFJtu4zC8x|rS&|s8MluR%4%v# z6Vpk))oloF-x%?fsdU{a+Hx+o82Z-G;1f(Eq?yYF5jQqIzPPy!V@>(;McAjfN&EJx z?u>ULslzsFU5eSr7sp?-)`bQugyW-%_9oj51Sa=|PX|XI=i5IL;pPe`%rOH@b2#N_A}eSuJpf{^oCL&zwlj`irV zl2b$X6%-U!m+H=U?(gjw*S#j-(EjY@(st+KSq`hwd;KNW*C5{1Xk=t$(wdu_Pblpi zNBzJ*4DHvJ_oz5*rzE!*$`_5szWCYAb}__bIUhWDK!4+gx3BN8(>TH7$B)s*ovCuF zs+T4wC)-zlcV_4}MRDkUJ)6x%gSuyXQS1n6m4Nud$wVIO7bGI@ke$1|hBfyfBPG>$ zAEy#<;b2zDe>K${`!G{6o0b+WoygZ7#jN&C`}U&|3lz%n`C)RneZ=}lmHW<|hlPm= zqf{)Lw{)_g)cyPSk!?h7K_O>jlP{q)qVbn-E5mc77OUrH6w0rhsA7L&q4{*>RED$P zck3rOI=bF!_d=!{=OZpDh4($S7+y+EK58NS%%I2R+FMZ<7rwRmf#`EIf>{Ij@<%>n zD%=zD3PWa8Y<6i^caF&)$1adnoT|)KrttGPHGfmFN5|`@$jlI)wEuA;Ihk#hTk=Z| zGLCl`dn@dB?Z~y>X|9^O(4qxvM-qwG zo`y2HFh1;^lcYoAGI8Q}hmK-M z(e4~S=@lK5XGVS>8*o&-ea@neLHY2WuMp5(`S-j~e6VrpMUxK^p`F=aXc5 zjzpTo1AG6OpXpQA{7~&Ov}mSupO{Cxo5yKux&JXZ!hhE&|GZ96at|e{^+~prx%DR} z^9&~j(lb4i{$gYrAw)SXS&!rIkYJMYq^Ob45lH%#!Fu97S zQrXqoL!YjV#kK?qKfSKGI3(;DtFNO^N~mLBucKc(o;tD2#VzJm5opHDB|UP1dhv?~ z1=_ymg*)@@2WD;+V6<2!oo?D8D68lZsGoCT<>Gw# z90YEv4>TK*#c7Z?fk-4A~+P0TKiy#Ci!6ZX5~sFQ_xcn z3E}(p)YvW01NHlMYg$h*zGZYw@9=Y)C4_~Y$3BSkro1w>T_DnGQMZfKq=hJqbiq5W zG<$<~g;YbXj80j(ftpcKZbLrLzbrs$agXoi43@YkgjDgAfr;<}45 zVg~APL|B-PJh$7X)%NCi2m>42lYo{JC@adtf_$3z!u{jNk2~%^!Z z`oi>Hg($|q-)8wqivLd?QjGTt`%*@>+|2YK5}_`Oi>mm&uQ|vMhEB+Skkz=NaN2M? zOuR%f^4@aCPik^+)A*BT7Bb0dLxramx*l8;ZqTYJBl65Edy>cYdptWXuPF9sjoY=S zW(fplEDmQ)xq8HPu4}z3YxG6ED_eKZIn~W+N>>t-@zdY|^X7?Thqv~==GedK#p4;x zhbfUix-V#GC`p+o`8UTin&kRLNBMZ;_ZrmuWgAEflU%%_h)ruhQ%zSB>1b+F?^DY* za^YA1&m8hsv;BqiM6F-WR5|KIsNdvSS3H&TiiOXjQSJ{~*Vz zt4Vo8E|H^NS5=jyb;gaI-zsa^h1_~qHpoa!7G$u(lL`Pi}>=%GlpQ+GconVt03(Yx;&r%)Uch($%`ZGuEm1rYNTiZt zil2UgF_RsZ;3w&#nEQ+-3RJ(GyA;z~FJhSzR46XctE-8OVJ1mv)zuz6tHpThUC6>G zZ*6}6fVPZ9{X7BTWzX)w%A>*!QtivwRP97j-6YAwVSY&bxvAR6e=j{p(#q@>85Ow* zR=A-<-Jj%R`GZnnJIQo16QG@kLwob};lARiM{BZ>jL&(R)Uh$0OM-4ZNJ>~s(*6Ho zV3|=ahij-=Y@9P`1+EFWNcJ;1Woi8O?d^23XVO$#vW(BU%VCv$P#EwI+4r-fV{gkB$^rzpCWu|8Vhz(JqFI6j zEx(7|;BZ>fz9i&Pv6d%vu+>I#;le$5D>Cn&{JRSN^e8!t`rE9mTQKsHmhlrWpA!)g z8Eq^KT{5RYc^Q62l20WNg6IE1vWTYd$s`xGB=-%>Qc+*XIU`hYV8&8gGT+Q1a<6>zZf@8f|u)AuRIp8b#@C_ zyZDBWXE?X##zl~Mu^1`~4GB4a8K!x-jg5_sUQn>gPsz#4S4TbH9QBq)AZ$ECEPvi9 zJkcX@zi)#*sOXyq4EyutFE=(mluT4{g-oVuy~DVVv>OFf;7Qlm9C=xD52T>?L6qG6 z2`LFlNz$>gu^bkIJOst(P@ne@2(qNPc|!PezJ61BetsBmIFOT|ex;}tn^X}cLxJ1c z-tM5Zthf(Afy2C?nc0@49BW00jtvYpI~$FPsTTtgPnlvTv%bT3&EVf6>o zXI@U`EF!17hu$jI#(GCEsAKm&#(O+|DSV!zJx|GQj)aOE|M~aQ01B*V%^aasi zZH}e~Mszed*;}md_Co zU-lGfkZI>@kL*3ZcsEvHsie`afF7cfpNMlPG zO>Ccbee5$}HtE*Wd?JTk6K;@$apY}8X(yVA=H=Uv>SoWdkX~jI!Rm$Nwp^d~7H`Fm zOmI~AbS`U&;7`P7c~705l{KU%TdjArjoNMLzDf7T$O-17sHIznne;r654&Hr$6bI6 zVFhyN&)6>xU$#s@p`;G;xI5IFW1w4JNohCQQvwYWG~y1I0u+k>1VWV-pIhF$zO=l2 zm4>Ey4TTau+?&)FTW+KSh7P|e(=pi;jTt6Ep+XQ1`LioP`kMFR;gIl>baZty9{QYH zttZzqsuV||s1XqFwegujnT6!irN``st?xk-1@)99k=OP$A}n{NN?oHxgGg#p;f+Eq z{6TR*SH}#W68PTKltL}wf{5Yz1_u4Rw*&+dx7X(-gxiSZ0$=9dDw{n|80s&QO#dWB zy5~K`Ch6hqe>EoHEBPwRq0s z6Y_B{n((!|CJ6+a5R7;|BBP)X2O07MU~V}N4?z)O4vrsxrBhZIRa#m`dAUrH4fz6{ zia6DFZXH@iMR_Jo#tO#L8OqC{W#@ZL=uFU-nkJ?q8A|L;5 zW@P~F86#_}-E_T7tE(dSRB$wUJZmPGR{2woMRZa049^YK>Djz&miGCxh2y-@)pTV~ z45_l$cdehA#&{WhZp$?&j&GR~O4b^I)F@X2Gy6 z=|k~|M|^%k!S9q1!44N33N=W57#%N9`{ExzaiZhJaeOE{9ox$BT;@j0WA%vqNKkwh z^_l&U+6n@J`GFP*F#1*NZMQro0<;Oev}ENU5YYLTP=kvF96xqUcDgkYM0N-%ZzQD3 zM``W;0A~NShjOCV%ZY$9Gd3VcQR2M@Igxp8Tz7N#T$&rGZ;B7dH7%lj8;{#IDd_p< zR7tbHS4}^>5S3f@~&=QWOBfp$-e1M)$ z+P{Z%6JT>#Wk>m3StBTvj-baL-paj8lK<`(LeMix_@FA19cLk%h3-L$+NT^z5d&X; zRn8qAEs^YM|9uAXTBzzR|t0&70E7^XHRlI+McJmo;PXS5OKU3w9%|{-KeKLFWTXg^<=(%)&gZy5Wj<1sxQ|Od_)#A~{yS1h(^_u!4tZrxx&AD( zl8kvbBYat->JLnzUHxGg>cj8Y_Qh#d9MEKFo6tc5BNNkaR?jW`ti_3uL zv290CZ>hQ0X@2#RO|`%3s?u?aLy9=3nIqU1kct zJxnS$Y;49QSa)e4mktdLB^ajbSW(u~)2mDt5fhW|&C&SXm4RUli~g9t_Fl4bayBDd zb#gW>8=7Y%moGC5^va>fjU*+{>g#7vh>6U+Yok5yypY7e+9v;1&e0nN{iUIy6Iy)f zA3ypZJ$f`N#86L9*;7-=&W;0F3rJ@l%s~>Av9l`_tFZPDP5};u2rDd;4CCqLPY&yj zWueQO$zy5h)b32B&WZ2g*&*jIarow_mp)L+QE#`xLMEg+%!EMv0%9cTW{1kTC#R=7 zS0DP3k<4m}W;JcCCDQ;CuT9lXCAxA>y`&|GzYlm)#fau9{R99%xZ{J>V zS?gB%E#tWz{#ES+YLwzI?m*tWUIL9!QW6qbq!Cyg0#eG(AEj9Nr0|RK#j1EBV&cm# zorQx2Y(hfGw`_$A`sTvsJNf>Mti$k%Y|&$DA95U#f>v>l{eAU5(Y_rL=cL3m5xN!r zyXWD4?lw#AY%Hc3Cc8)R+0P0?$M!>4*V8g*9NpIDCWn)Zn@mf$yc(wQ&oBDnL!uK` z+lJUfr~8~`@m~(mGck=<@2}+!Voa45e&$^h+L|Pj0W1a0^DaZx+@kFm|jg?5jm%?ffNbh;dRZ;pp+#fBsA~u@4JCCocsOH zk3YPT|8x)9`1pineqmumD;uH_4=4Wg0&Jvh47-MCy8OODOUrgC2wJD|zw2K3xKN_Z#3O zeG$15nPfq#ix7Q{PS8KyVsD3@_>uk?QPp90fQ407G65oZ9BMa z+Y(rQ6(aLjo^FGUjt;HmU`c3aXXn*c!+6QBneSnPW7*w03^cq%CX}%2nbg zY#xx+{O<4w5l zsc+xDxv<+ie*3$C3gs6lBy>&^3UEiCNX-d3IXBXb?5uZ-;c?-sho#tbWO3>}lm z8mfyIHGCnru)Dp*uY%|*>FxYMJ{|WKc8)=kaXv#tL<7*h<@16*T%-j)IuKo zFi0ipg5B|vfsKsf>241KD{7ca?Zx3rDk`dG5S}p3ZXhF25fRn4@#D^FReL1HVm&7} zW;1hb?%hLG@2w9stJ@Bg1O}eX$;#3*m;xEzR!%N-;J-}iwUsy13k^a@9#aR`4e71R zu24X-=+7*IcO}-8tngWmiau_m`aoc3X9ovf31jw`MQ&@3YqJUqooVM`X_J(4HCto^ z)<`z6y=~j7WEfKn5*L3zhpI4#Z=tS0AZ4-Z2Ov`=D|?|DOf}7B1J-THLTy9kj?>_K z!2v;{bQ^-zN+cC|CL+hf!BIGzr5W(gNIs0|e+}oPXGe8>n3Qssu({Q(pe0UEwZ!An zt3Zy0M%86>J%;dF<|zZRIB_S67=AGDWVg1qNx zKhCXOk89B&W6`R*C9u&L$+X*Vn)@4_{j*^>KC{?;@aK@a`u%mMKlbb5{7%;Z?v`F~ zir48!;p_7Q4G&+R{RR3SI2eSQGcq!$NJzf?`t>UzH1wJKFqo7Y{n1O%r_x&F45k)n z1RK!k_wbwSxOwR++i7Ww-ki(lDcD}IYE~Gzdw{oQaj0C$Wnp2c+`dzBPIs}Tdq6O1 zE0w{Of3Vn+<~%k3Mdxp}1OEt^J54lV?@rKNakN^Q5D)hC9UZQ8#d+@IXt3i4(7P)E zmkU4GBe1&QCK^PG;KNn9X@ooyVoj?A^>Rv?nt!}|SPDs1T~<~*yVQF8L^6+c?e>Uh zN~jcFI9(|P1x1-L(|X><)T}v8)AjP8h7cMt>XpIm&5d>U*?DKxz!WR!CI#J&mD~ju zYXvZG6DF_OZHK9flG_4y%F%-{^6F6tcI=kVV)cO_Of>@oLr-rW)dkoc6Zc=9;N0B)xWeS5tLz+2 z_o4BKAr<+BXtwH4p42us1CpEMGVfmkWH-e1pUeCo+g)sB^@r$$^FGg+VvzIRzJLE} zpxCm_cB(l~(17;}*f(0B2ZmG~hbSMx1{%-i5W#Kwo7b-|saaO)7tjY!COi~lb$JqQS}IeN z(pA)5+m5@H7>T84wh_n^QmJAi{}t#SxIZD7(Cw*_s3a#>V^B~!jME5>PE2eeXVsj5 z-L95AKD*8vH~!suhP~A|Ifd8dJ07nc?-2%O=E>UH2UXVNuh;Il@@0JJ%vH{NvA4Hp zzVPky;Og6$=;#I}#jH`NTs(!9CN?rj{NHV-TPL5@yLU~&%Km94FjKPukCi)}mhCfz2-7tlC)^|NQwLlosT}AdCw$E77H}f%rZ5-4=RtX&{E@2a2ba zG@ZR|ZEVz|;**ox@X2odkn#lNRN=N|li~g`J>7S@Ejc$}|BLzot7{H4OP$BR2JyRZ z+X(_ZsM`uIy2H&K4ZqTM`t)f?!Y5Cj#1$HMX1VwFIfI?A!g^ekn$M0NK8oF-8QDMO zLdX232p~_mySpQxqC3~4zIlCKNes7w!|^gR2koq38w3Rfsc2~0aMNwmP;jCPbIZ!& zxGe_1K~8$I9nfbs1%kG;gv7&S>nBOn+kq(*Z!Zr?-UDCY7vh`J6OhSpFV72pGd4Cx z&?!uS(Dux=av|Z!=xE&M=Xks@(Nc88mS81JlZ>r}q?V;paLMg*(-Ah~j_V-lb0VV% zyCIR)hB36V<#23E59;s;ozJ%#5cLwRa0&?H}TtS<%9EtSf$N3&k zwjv7^&bZB-@`W*8+o>f8J>&ynOP?mDTLQ%;ru6sy@1g3If5e;Sb~u^f<|rPrDPfjE z1lD7InEo923X0TniS_v5WgyGqK=0r5yP2d7XnA3<)FGMHL?-FG-q_2N=T~69fA;o9 z@2vi=15{+MvNJn%gN|+mgu<=m2Ab)gKb5QOu~D5Hkg6fvx4>la3uz`PWhpjs(0PWs$_ZJ^*w!EvXZ&p4;~WAE3G*sag0NI!Zsx>&W-I%U}1-MtH{LIF5b z3_J ztDLvzC|(e;p$qpTCL-ctVEAr8)0`}n+}Y8w3B`IE(gC)JH!~YHlOfzA;5;a6wHwa3 zDQlp?S;gN>11n4Ii?^WBLv`VT_TF379qa_8_ykgsJk5%pABzp`>alwn??ys0cjO_5N0WeN2*x!E)axdrh?pMv+Jgy!A(y_^C zttou_g-7xV3iXgZ#_#BU{aLxUJ|%!_W*^MaxQjhW4Tx7@XcEcB0pXloief9sX7=2} zYGKXmfMP?Y5VV;%#Xhoymz6SK;8wD;HJzNj6IMFKQLLD)nun&ZaF|y$aFC|4xA)A5 zZdO;MgZb7oA8#yuiequjuKaOLWUJp75qrY2rkb%5cGFxNC7zy}8hPeF{I znO0O#=vLEfFypelfBy&&lX$V9OZCmo5LVOxLTv%d@m|0F3Zh#)oK9s!LHA`sr8#DI z@ihS@gxY=`&HiUVDlG==$)JzJA|e}o)UtZ7XG%v?%$9QJ1B5qqjg_ z1--(wx2o`F+e$x;$L7_Y?d=ulYG;KgDJj{is8F1zdI`eVa@_8 zrg*4!MKxy@R?O(TtwM4}Vy|pa!H%SE^+U^9b`0*bt#iw<_fQd(vQ_J$Gcg61Tmi*q z3xYOlqoV9&cdqB2DHJ%Z@ab^XSx|qrpv?9(G&MDC0f;Tr&1pB97#vhz=qtEs*Is{wll-27!qs%31gSIZFC;64EG*wX!zUtilmP%MsACj-NAZLlOw7)qWq z&MepouPlZ7U~iIaVnowB>A(L}QSmDf(kYb!gJoaBYn$HWnxjA_2DbkK!Bszcxqp;tsjg07he0*?Ctkuo15sp-Ejs;LrP<&rrUhc8%ouzJ| zozL8%N`v=LQ2)_a20W7Az(oVAhJB^@Q z4A3je`0CZ($*g@H=d6tJky;A(uSs0{ldPWBs>yjb+hW~QGb(62cSEny(kAp6g2w5D z?aAH+GawgFFrRB+-W%TF7p4#=6MGvYuvPBbK6yeUv@vK)MNC`=OI_i#tb?_krIrQ5 z_F$R}jR&Okn7%v;%w*wBSDRSVeV5KG6?Uw*IY7Z(DDF1e+E>IxM67|TYE`-Q5Cow|YMgb~VVfORz5x5rFT4I{3?A>RPI*s(SF-;x5h1nVUjZ$W<#2MyjGkXDR`5 zBfwNX!^PcpH?5(bvlp9mH}?0WR_TD=RADj17aS0PfVbg7WBE#RPM{^QqY~ZS+%~li zwxidqn-*~ZOQ{G6Yrr&O6`nS)Y=cnJy9QieDE2Zkid1C=ylz2D#pN2();gUECMe>K$7(n2H!1QNxXdW5tt$mGiqe{xjMH=|((C41NK z+}X2*EbEisxL8#Szb#ZCqzFRXdAPzk0m3GlRci`ZQ4-9BT#9I)y{WA0N{&`_E7adH z5U5r_MmO81*WPk42lsi8+AF?H_h!z$PYAkLpZg9aLDyg>N6CnB5n!A4RNO#O6$BIn zpAa11aD(F$2yPcz`F0J_20=j8hCPzRZJDG|3fdmVwZc}^)7mc3UNpH>o|1W7R9ZT? zb35?bPFFsG$+o1fb5zmf)YOUuYvn|QAmm~x53tEB@C0+&IWl70Po$|iljp{Gff{XP zWR%__@)XQKQ!ol^SaQqZioSkp(}NGQT^aIoi;I@Fgcof))2e+ZR0VGVb`HTma|U7R z2!H^{fz&b}uEq8{T?TCIS|wJ`p$_N^aDJ^_xoQH=dTEETd3NOp2ryqD49>&B z6JXFaV5A-aina-96vMPJUp!&}wR-gP^T8r>HEK?i2>a*n`uBH64s0M-Ie+##;s*T- zmwESzP%&hms;jE@PiV=^wG>(@dfHsy_~J(_{aYq@0{BlOoL@pRE?|9_ml6A34SwyAAfvv(+TUK ze4>L{tq95i7x`d@x#_$+KUlCpIgY_dMRA7!h=v&11u(=FtM>Hi7x`4lUkKSp2rC@o z$sZ>DzVcdYhYAO6qk`OA*0y-=HkbQ_H#R_#n1DVE%dJ}#x_9Tln+3-0PZ(J!Dw4q= zri=xd;JNXS9~skD8A9FX0{2%#Ja=EFpwUiXBkgIp6<&u(QfNwCypOX zo!MM`K(qxA%2rwVB9NmLb)e)(0YMrmHLgPlQ8 zg>!7*A%QybPd+Mi$Mnwn`TOU`e&MQ5x-%RGu7Vb!y;b5|&`Xhgp7<8@D#&C7!)1kc z(Bp}5`)Gqe(%FQ4uaC zbMF>jUGU|*fReDh`B5+5Ayps5JIJlOUnwoS)Pih*fDC4A9l@Aq{uw z+z{Ya8K<*-szW2PBR^4K;;pzXo#v=CSB+E3jOYp6KcG@9{^kp2tTB9Z`L zBeHu5E^S-Z{O1UeLHh6h>Vn&>&FUR*@;<35{oS|oG%Y==Rwm(_e<~$XTcBQS~ zBTpNS-h9OSmQ`&2v@>naJaba&7AL1diI7T>0Pt%eAc!nXOuFIU_4XQ?5e)}npXS@I z*|)VU&0@4=tSV=C= zP)-P6uqg%y22MaNF4OZ=y#?okAcr69jT~Ss0t!|xsWG8p%8SkVYC$_TT~Yi1tN6%M zE}o&oP#D*2P#~Ku*C~iE1{B;mC`e&_m7?9c>w#4Ak;RF2;tK)LRkC(+;*p7EtKU|h zKQ9@=zjCVBw71n@nIonB8wdvcaDH)rCMBdqDxM2;Vl!MMn%xEr2~A*nGvl~~@MbV5 z8nG+KNzy?nB=&^7Al*{9OIihYg+wAG59AsixEAiM=O?MPp^jli3R@e^dvg*w9igxw zC9-<6o^=!Q>m&d>1PAPFZK<$ca)_8D-~l2D=)iO+1aoo*frKN~Lh$Y~q8=bBA1MAw zct?*S!nt%)RujeE_s}A~OrgGbwH<#+`HuP;QcP*C6u?JY=guv`1OJwWHyi&-m?Nmk zNpNx&xjtX0`7FN&Cv^W3ex)V3_^n3MOV$Q=Uk_F|7Yuv5p-ZLoHA`(o z6g-JqFw+s|lqOU))e2?&^w{oJ3#kl~0C{J*)pyZw{ic!}yXag$CcqOHKeFU`u%i{< zTP{y2f&)<85KbqBaP?&%qFHIg-Brt8>^K(nlFx9ucKSKq$rS+b+0OR43|5LsBG8O! z=|3(d7rp^?14k^wUxP@BMKY^7_t&WcX!k^v_I`nzFi;kIdS%)cBMVNZHrcjX|k;m$0h90_b;)f zpdUI&3F_%_*}3u?PIGbiW_-`y8$_dN4;eGq5I|-#U}0sQ20pAxuKdxpmq8+jiH+Iw zG%EvxwW_Dh`|R~Wu_4mZprJ|O07*oBQp)!DQ7HGcxFg<|2$}( zQY???!jyK@M$5>T%55qPr(DR-HBs48UOJx;+52Nr=Dj;6d7vv#nY*n+P$@VM8e;az z)*LeCz({iQmZjde@q{(Z4GMO4@u+g=I_%s_9&|aXliOe1YSxZE?)bZ-eyUCzXz#{c zU*}Xp|La-(X_v>T>^6yO@G;l~IJ67$@7A#E;^Y=?+7^VGQm~}4lqM#p#I|lTsszB{ zUaV0n`+-gr(9!e!OQ`r3PNwYYgZ&-1jUh){fI8;Vwm1@#5CyTD$|g9fy$fT;&cQ@2 z1ysZ)H@^i_2ek65Zv7EzE zn9E>Zmje$4H049T>(SEC&|q-@tiG9X$%7dKF$Y7v`HdW0f^*1naJ;1wvO=N9p3644 z*&hL5_*CUF@4{?@Y3!oyT{*bilHIhzM@mW>5gRKGvGX1vp)90h&|Umg3yt2DWt*^z z?1Z!Te~diFc!;STr72?@qEF9+?OJAX=F?Wn-R8`yw4#4{0aBWE;&Fu+>-2+D2;Aw8Tn^*vwg%Ei3NWP;sSQv-5Q;3XPCGH34W2dICp~_9aNFm-e=E){QB6d3h@=M+Bh?hPODU z1a+Gr7KV>4*)2BlwGbwKdR!dej6*Yu)nzO)_1A_S=KK2+nZoCENu9S_GFuWuJSR%E zlFCC;Mw13jjy?e)F4<$70ckHo#>r-?Ve3`@1e}Z229W4n*;>-IXB zk#>MH*8-Sq%+3N>MhqNtB=bWQCa&h*S+D_F6Qx`gGg6e=wYIu0~KYiQfuX0P09jp(E)teQbJb3^~0Wm{7Awdpbfi;+s(H~5PGXSLD`cS+0B4!pq zsU#v-!AK7}>T2uV#UHRz>Cgf@G($8tW7I!SVX>Lwsfy61bFi=&!uMt_W&19u2%U2o z9_XC&IxpM~e&J&?IY-CMU0gFzIS-yH7*30|wKWwP*;hz6Q(!PvYa<22%S8}KLI7+j zFLHudc=#S1{>Fjna)|EldTamDtQ)S=Cw>F^)e6Y`P7q^U(eR?#dP2x4e%c7r2|P-*Z+JP-EVz%h)qt=?UcSjXYU8RS!!zyK9n zI@Nmiyuj)OKx@GP{{Asr>&^i;ZrlL(z&IDUKmKT?9y%QU(vH8!94&PZ&<)a`Lr@cl z17>Won;_rrwt4P%_Gic>@YKMe|Iv~Xo`r#8R-llY`Feh9oN%0=7W&NmaK^wO$Mfce zl=h#ay7{(ny#KIoEU)&b^9Q2X*@4R7o!C&w8 zy3BcV;UrreN_eYeo2wd>G-}UXYq0ixK+X`srP86b{8U9n9QtQ(!PG=c+h1f(iLn@p zgPyW5P}(~;u3!II5uBWyJTU#Q_7!AtA0<)u`|^XKxJKez%p@`epz1b(xC>kETXQqw z<^Ty8Tuf6ZY24nxO+)8$gUjB8)u99Fgdh6R{xGHe!<=&1Tt4FahV95R1H|xxmU##eiJEyO={6&<1T`OL#PE1=Aq-B!+!qg-w%F6@-QA!-b>wsL!h}}lLTek87N`T zIZv=(#ZU9@-23t0-38C%{$sCVd7&vp<2rW-F&+SoQl{aKZ($KQRrt4Vp+78esNf|j z@XCbSSBirc3TEaX$Wu80m2#N!vePk-2dGIk{$n#8PLH7&l-f5sIL zPfS5PYE)E`z|#ionNkprozvf9XG*5 z3jf|}@m&4mh~59_%ms3cg18SsyG+-{~nLC{l9rU4&4>T$%%;{U}X^3D6@M9eFJ!YkhS$4 zLPGD?uX|iQKo){WmB`!MW4h*#p{$e;_wVZQ;$I5yzz`4?7M2eDo6GFyy_%XDVd05s zr2;i6I{C^=$jQF0$ize`c=8NOzYYq8o|!T74-W2eVfQ@+heDj_950Cpz{4G0z^OE2 z=)59l1hyfGBIUU!SwvJ69!CMdzOoF6F5AVka8AE6S>MpG6Pg+`przytSfPGY#>8CY zvzvJ{Wto(7NlaIVk66yHsfZHwS>vmm40!9jR#t4{Za+H;@G`LKVBZy-y2UMR<@Q)n z0DE@3o69a3*k>d(G$W%}1GqM5A2X1R-$Ub{w?d=9pasq^knyUgy+$zIpMF6Q>BK>> zdp9>{CN;vN!5iEoDM(F+raxKyG2~@iv9h=@{$pKdDGS1@ zziy$)shaTTW0^=Ciw};M@nEm{Yphn(VG?JuWT!$^n0_k-oDgqP6T}|dGnV^QXD>JX zg|4Sy__`{G$lIk?vQ+KHXq9O{GJCtMtOvIjjgGh96z1rxDZ8d)9U&oXT9D5{BPKvW zcjX*3LC}bvxV|_dgSak1!0mDkuF-xAT&v@25T!A6ttJ*1WrT%)|Nf2aGjLNlHUq|{ z1h)WRh53n>_tXFLbA-z9D8`LiCa!(0Va9f?%3tbw;Y&otif^}zM-PEQ99sRHez2yh zQ~FjgtU>zo^a5Sys?)vRV-N6lzqeg@{LU}&a!wHX%)4gohbRoVuWKK7#eR`qGqsRS zS3>93*_$7IHTLbogNTbvvh-X&*BfcsHVJRM=2cW&*krj%i)N!W5e=rP;r=rA`7~IT zf50;#enag^@gu(30gGlP9ew8X>387Xr=@in58|e0VDL+oiWddj2UICBuoR`iQO1ry z3iiT&Hx#M`u~Glvmb^!02huIz$DUj*8EkKE@s`Tdrx9yGwyQJkg?itK;@Az(A%=V3 zLo5l@8<6A`_wpmC!Q+Vk+r94Cm;1oY3U*3i{y6j-N%-8i5sD-S@JhWzAB9Rff*gNB zPS+x*9oJZL>>?*7^cZ+m4gcc*7iMdayA#qFV#Zp!7#I;x9?Ac}L{rBmp{v60`~DML z*vZF1ncvNBa9frP^2mz+*XQLlAtZpw24LI!qa>2 zdry(wJI$!Q(?`pAku>mzi5Y{@(W`fsC3F_)&fhnCq~qsxseDH1#hJY9N72JYwfRjw zZHwot*e&!8p#|+|uz=liT6&a_$iBE!>blU!%f2y;i&RPdHJ^0id#~txFncq0S1M2L z?)ZR!yT#Ae+quo~XrA*Ii`Y%+?g~$chrYTjX0CnX@Z?XA)fvUJmjriDpFRjL&toBK zh~*~mEDfXKsK6P_NarW_r6g}14NXlB^YcA>XMg6g-rE56P8p(|g+a3f<6Yx;-*2Ak zg&JUY3^3onGLkjqGZmU&C!&Tz(LP6>n?OtZ#JG6qex3ZM#+Eqo&>@F<=lSNbvbd37 zW+8TLCcT=?f&@RG{bXsfN-J8Z97)&6#N!m5|FYCY*D2Va-Hqj!Dg0b+ROpjQw0W#^=S$|6fdy_$Mv>R^E9%0EdKASi66ThJ z4nB6A7V+cg(OV20roHv6(bqak9rLW!tlOV9Y82XA&m?Y^K6^-x$>Fs0r=xIq@$$9x zji>>NkYZ!emX-3Uizoai{8R>pI=-iCMEzAM1BFy?y_2@-X0!)1aST|MBPvIF5#l^nduR@@au*PhC14sskc_oR8sN z)48!arZJTnJ56I;mA^>++i1`sEkL2GMQM{$!$ReH%0}^5^MMGZi^cXBliYwJhS&37 zDRPFHXgg9L4`yFV{vqiZYmh15RAW})U=Uyw9}*wcFira){L843ah0ez6gF2FJ5%C{ zrtl30wAz(~_0qO}<(C(1nM|o`@mBu~NjUb24`$&v zkxWXBz)UA2Yi*}MeFZj+q&0vG5ag+&7|UIo%0 zL1|HPpQ^!lwG_x~#2OZ>Nj1=Ad*m}KK#9-QF z0jldO9L(9T_odeV$Ozmv5^OMvASX<(O`+}$LJIf#QhV%rBQQqVL_Yg4sBw?rv3-(B z{3=|Q!*go}NA3;6K}7f^24y)8qaRm5;Q#60SY=B_E#D_8nNStxBoQZb zj5zJs*k$q9fS*L<<^ge@k5ksmzBO}Os#auHS`Q3~#gQ>}sIF5Mn=^b6o$q*G%fqhn zF>v5|j054TH z?YFE>f2&>dp#D#3;gy2sul>zA2Dm{kiOfk3VgBDSXG z8Pt~>P!fGD6JF>W0oi||smU_pzLDtbTLD5~&A`Lfm^%-Vl|sDC`i&6`HmmJo5()~D z$lEK?)w?2~)?5c)=n_0{=d&#mcQO!nLpDv!Pt?_K(fUZAjDaqHb3C^URYNFDs5o$8 zuxg4zl~+s~Vn|D%1sihu#KeSCULWcLI}%yR5Lt}3Zt>5xv9q!1!Q(UXL9y%0)Af0( zq$B}8&Kq~{4s?(my=SHiXuwnFD3Lzc*xvxpcB-U6T_}c2T*>>#({}zfL6n@h{;Wi~ zWw3>@iiIr4A@5P~R%3-T3!6q(D--XOPk&OD^jCBC{+I&``45BXiRF<$GJ^)n#&k&6 zlJKgyEe7aXth6wk!6bd7Xy!O=zWqx@OyaP8KWD|RE%&r24>Znc4~H9bwWeb3+6afKI=^-RGWzcB@ zN(h_Wd(%h?l8PYsdlt@|d(OG%p3nW=d;b{*kaxfDyVkd#=UMBXhP;3GRLzg>xa~X|XelTyfUe0s#|3AM?y&iQyNwd?D(eQfj!16O;Iax)q89rs!Y*so2rWUzR zGJNFie5>AA<$M;TT$%1+_a5af4;z)pDf!}F~HUpVG2`sP~-RWUQ4>PkCp&QY-p zxiO?v`rAtqY75MDKmfhxZXi#Too=H z*Li%%N^_UC?2xd+O&@owx=r5ySMldTdi%akb0PcYUap2~A@7wnCpOyUh-I+to4J)M z_G0|QPjOBZ3B6R~s4!z@_OS}az0K+LeO#)Y=R+^iC@#M7k#;?@d)8?j3pm8sm&75k zMMSwYqv*zvIQzJzfc|eq;muQLT5oKu~Z#u6|wvxWbBt<*hGPJv= z=PmGc{NP0pqAl~Y@#3QugtYEuxM*F%&H!=Mt!M$|4Nz0MG2FKrb5#)^y&mB{R(=t1 zp=H}!;zonI2XJZh5wY-B^SZ;hKnmGwApqt0aK3?Mn(_S zHS)DZ*DhGcfhXO?H+*&D(*0*R>1hBBukzgF!aEZ2rfAQq`&YM2d3|57{m{0OM|yK# zejjq&x^Mrj0Ffcw-TCKl*&5za*%}&MQ&W>(#HA^4;*+-X@PI}5^UpuCf8&*sG63X- zy{PNmnyR&d={3!{vU#q@RX06O`{~5#aTPQ5DBp@hY*sCtX8KzmQj9BarHFCJX*dYB zl|QsP!=BT^pXSHdq;SuUA#P?<$0zm5$trQ>T?MrP$!z<2K5dC_d*XD%3pdNHI#M($ zYD%|`)_yumtj9lRvezp{K)ETfjvnm|_cjJn)+C_Zwfq~@}&yV3u7`K|E@CN^mpytdHm#&p+l~ihIeN( ztb@^{z2zehn%oEM&HJgma1! z?s#q9Qx6B}HJM%7xR?|jzWxWyH6IuX^JRa!kR9t<+|7~2*dKYD9+K;Jd;#m9IV$V_ zqHJ2VFNS9&ZKJzPr~Sssd)S-0yb8nh<~{ne=E|DPmQP$Xhu21|f$rlSsV*ia`?Gs-fkT|QjiV^C67Q~fCN+%|p-!-lF#(X-Pj2ez1?@_s5&95zhj#iQ)+ zHF~&NXkV28=ZVJQ0~X%f|EYHPpFG6;x`>>xD$uTUFY(R3krG;9ZIQH>QD_zAJ2ZJ- z$ewk4qqDN+69lV8V+hDCmQV4Y3)W6G!X2UhaS20~8K&0Z9Z$NA_}-kM>6wdZ(Dktz zO*Te{GqOGuD!p@MtYqx)`Jrv`x9lL|>P8uGtDuFMacKJK(`rc_F{h8FuD%Pl7sHr- zB=^8!2N3}H^Dh4`c|!4f$+DnwzFL5~?xw=ebPLQyH-6L9*4{(HP9yXn?1&`7y5((` zweH-#yGua<(m2mH5P!T{)_w&D0Y-pf0`jscLuBcK&UN#@;NHGT*Y^3++7d6X{^qBN z=qeqLa_!liA;Pkt^XK`0aq{^sqFkPb5Bz|7Dg@=tJ0LBLfCIkx^}~H%pE9&MC0dUy z@UbH9$%T_b$q;#=0)CVcke{_rj7~J?+8IVhqf4cDW6d@`F1cIsZbkPNfB$5lrgVSH zMpnDW1F79EcP;1*zDlf``*I4t*1uuwZOQbrEZE4;IjyN<7Fd=aKw`E4rWG$&jc9!I zi%T#(&N0Rn)_W{AgITHA*W;R^zxJz5kzHo0`~@}lfH?gwjX3d>BRb!Jp^iiXBXrZ--~^wE6cPVT>Fb&|v~?vl<}Q1+7%|eV zOHWO$YxG{H*bC_7{Wv3F!BO|~s0*iFqcj8lPdncsnbYnSYi+T|r3{hf3p$A!+A9&V zG8P#{8vdf4KW#pIF&?EwS-#_7H&nUrf#~rTSwiPz&%&b>s2(oAdbwoRt=ih!ZZN%q zfZc01#6P)*4y;ysUJv^kh~jh-iN0N1xwoHo_&)pP9UyogfR?zA&o=`;ZDOGQ-C*US z%el`ST;>_-0#wejHAzYf1IA$iJH=cOpnL&$OWJwI}_P@dsy` zuE>d;I5X=vr^A(UXrC4P5)7||m+VUjO(?xPWZ0A``HrD&oEvGB;ALX<>Hf7FLu;Rj zY$xrh)N}KK%705#|3}}_vIbf0sk)i_$9Lz{%IK((7v4AM>`!=rf1Z91qLajDtp8H93McgF0+AX(K!TZ(QneX4+hM-@fIGZyI|ya@@I$ zQsj-wcFBYO`LF-!iLr;D@Rxj3)psA2*~80w7u4i(WFGO96b*fwO$%PFA}J@Y`{H#n z0Ic2zO79)y9gKi*ya*8GI}BQONl8g5-ZYTwcQo8jv&r+M)~D!7)w3IX42a|Y_THp? zCx3(BW|b}$-Zoc8O9Zx@k5HmE!m zQynCypK2ly^=3V6V+`jWoB+K18`MyO;^U7O5Qv-r8tdA*w&?EPb%93MS_Vnz4kDoo z0uW9MoE{^9;~lq3P1dPBjEy~}k*d{Eb8q2M_jz~zYRN7|VQc1Ybe=3nT-qN4(%9Ux zeSwc4v8e~SD>UwYY%4K9^P#SN6v_5-uhvZQmvz_9d)aaF3(VddOgvNcc2X@Zq085! z_4a=}v{ldRYEkx-2bZN4fRX_N36bPVDWFTag9Q%#Txg<&d@8=wEHf6&M}MQ1&~|ZF zJw-EbE*a7n>9vq-9?a_y*dhlo$KE4OxqtT_=V1xmW>gm%vP^COCwYRsw zCS|j73;TlA^Ifx7GJU57T*odXCnen>ygJ9N2AQUT#0Lrhq#ls{m$%}Uqtp-j$xEZm zAip499%!@^U>bL$Sr>e1I8Tn$Nne|*J$oj(7adiacZGQ4x8~Oz7$Q>fZDb7u>N*dq z4j({VDJq4;%_vblUAJca+7$pE>;etB77)kwp`8mC#LQpfxzP4aoQ`#;5t1G~nloKy zEvS9!)b=Zf&nqh{t7lgaVh;{b(xc5M_cp3z(KYn+_RDQ?ygTu+SxrDtP-a)Y5WO|A z`?YfvTPXg!^}*#=oRkpAWt7!x8tljE68FGCc?*7_5pwOIyLapQBu2Z0a3!~pzm_|@ zIXzH(?7T#9;Z)V}{kI*t!)w}qM$4?lN|2KcXg7poCt?MA<8HkRVigkWJH!Ev0l^TSirk|0M;V?v}&~t3~g@lBH?ry+w zHHH86-Ms%P!{q4HZ|Ba%XlQCK|6V|)DmJES#{nWu1HE_<^TBIRC*(c%_sRVAj_2Qu z)l(7pwa7fD-i)F4=hvnIvFgJSCiQllTLdonBs_fB z55Uy~Myj`c|8dcb3uMR2d?&l2$s6v&#R$+a@}S`jj9~|ftWDBD%w}i9Z0i;(-g7Np z4>=aav7SnS2E-f%Miz?>LJf#Fr4Ik(lX!F~JVc96Z z)wQGhYmDqzrx&O4Pa26wBsV-T^Fohw8Y(_I6bd9q955rNgH@#W`26ows)mM!u&K^W zY+_g#`~E$9YW8Ims)D)CUQuVb<6ms$7v?f}b|1KhXHVNRx^Tsb+|9t&X{JcAm?P3&L zsaNbLnsjy7L`oU@sXH)IZG?uhCg|vK*yIDE{!#W-hw}ksr%2S*SeTm+L|hVucUM+X zX=KxP`HjL+RrY0wkw}yWh;WwM$H%4Sva&a-LIq35v47r5o@C;SdH4`J2|WQ`W1UCV z1ePw@wFvq5Wa`tZTKyuoe$4D00R0lPXy8RxKMf7t%;zoZ7cGAU^jQ|>2mlP6lE5J> z*BbQ@r^p?J1qa7rM%>6>JjEqym_enE?aBdxPbBL}z-4tIc52S{H+ z9I6>#Wa%Gwc2R9A9&HfRm`s3e-CA9H`?0l!Bqa10Sr&;PqCM|z@thgLUX>hqws@6( z7o1leAd`I{(k4-*9L7M_I0Xbr0&zct7&7$@P~lm$0#kcEVX(!?As!LAd7g|?;qRvO zt!u!COvecl0=SQlf8K}sP(YmMb(XSo;2E3&Da3K4{rNOfC7!7%skzZLWYg*+lX_ly z>(;GId?$wBJKGa(qdxh*(VOZ${Iej$)rf!Hv}w~a26-(+GpU{EbD06A!-I#&`@7p{ zP9F`oDc%uK_(1Ze=EoSYYLJB|;(eb|K|%ue6kVTe+|PEMJ@^7wriJ62wz?kl z_{K9WsXQUh|K@bv>m}U>0I|pb={1i!XB(*Y2Mq`Pi08%{53TqEAwwLS`um8tl&ONk zO)52AC+8$|8B)mru7X^2KAirYQHZ*FCIuEwZIc^aj1C+45}B}SH-=Tt(rqg^*IG2B z5eCXPjC5LZVtgHLqigOJwVeTKhix z^?^;L6Nyc%$#Wb-g+K|LBXzmfE4R}IypL(Hg9gE&x>|kH$)ls^mHk!^Zh^_)!@KT_ zH+8&YDFa9+Gbu?P+<^7&ymwEs_e~Ioi1b&?`NAnH&r=oE)s0J6Z0dvOUfb|Fzg(}# zEek+LwNgKhM4&kB%9h75&OqEM9VCYGSx`P8<}y)e%`Cy%Ty{7qfnOPSqFteaG_ z8!ho$U9{y9+xE-U8{fU@nQwp$)kDZk*Loa#(m2!eK6)wBXoL6T)p$-_<$CZ1b~!jT z+J&6nW>r-1*0e(WMGJyoPj9dH-7ev3C$G~FtEI)NA$0S&T66s!{CXD5;Z#t7Ymo{L z(Gmk%!SURYvxZZgxLtH=m#^_hXzs^!P=%Nhdr_i8yQ>J(_L`V~TyNB+bnJ=rD*M>L z88k^qNlM1#$xnv$fREH4aoFDB zl@BW{8;8m1*%VD`v=m)(uDb~0?nHXQ@R+g}U{kfoaCL^%AbKeV2(rNhPyLPPk1|lJ z2;tK&)G~o$I>wrMO@_-CF-4&MU-J;Dbp`S_AFOhq&Qfvzjk@-J zh#ubGxXTXN;5>k^h=^1K)bBH1-&H8b85tct(0J^F89UF}zNnnVQ6|JeRwKr=U)jbNe8vXpr^G-~+{8T{>l)$^qumDfz=$DZ_lx`Z zCO;-ng#CeXTa$BIoWhIoS^$i4!0)TY26?g0X;fjU-M|k_k6&R0QFKt* zbZvhddHizL|9Iu3j@Qq1=L=N6K9p+KIDI+>I<)Ggb`H}M{Up#9M^o(wyrfQs6M;>R3)0% zbFqriG1b=%wsoq!I0^RQQ3M)Ps3lC0fuMG;GzuTXLvRbl+@~z-YeQnD#IRwt5);#j82Z;JS3@hq*^vQ*}x!kMrrm;VV|H6Ka0ph zvyX>xZqd3~Sl(6V%u}-+3uYj%k>@y8Xh@j>3uB6Jb$N>1=uqf!1xs5>qbi%8F`i zWg#IUWWw+MB2T|7h0`u+p1$*49smV9c|Bwtv4BH{H4rSgQ($Xh0A{lP4M)-S!ZJ2yTkL>iX~w7tAZ$< zgnB9l(*#Y(xE%99&dn~KG56afL1oF^{-x&Q*Z3<=NV4j{gI>Okf8RbDWWeSgDB=R>~gX^D|eVa69O^nollNli(w#Tzw4Ml|_q zy~;{x;?ymuQ@56p`JJ5MMxg!;U$3b#9-VvXfUxN}m$a1W+8Y@b6ch_S(jBU>`^zRR zYh`6WWGcrDJimT;>6x;&e{O?fTHvrsOb^`Io>(GxqHAzyTFuNX88TApUZcJSeaVSY zRFYfFXE+S`FFcf0=?#|0?YqvM;B28>fZlyN`?Oay|SlwQPv zV@7;K-GDr^Zk{Tn=N^hhPc*V6&#iMw&FhldzRrXDF8lY1L@Aln>gz#l<&rerRvbAL zhbyoS3ZkN)hEzhIpGa#{pD26(LGEWgqPO}KAFz}yUL*bo7>YH(QxD+&6UoD2F6A-R z;eD+-+3P4Yi~CTUP2Ad-eyV=Nxb6xq>R35NVxnIeWAv+R*}X*> zbhnUXzt>sTJ7A)g4^E!gwx5?2>lGk5xR&#ipSlOtd-@z$*Q+^2Pw}WkrBY+`GT!U9 zlB9|1ZOtH%carJRqUY45zJIgVLpv8IG=CLCZw2I56(Qha5aBke4x^am9CKm2Ik#^3 z7mk~f_POkfyWSvY+}U9AqB-%3l`YLA?Cpv=q^pS{Ee>kZ(-jc0A(krkQIy`)lFa

    y=o;zHcpN4N*T+C#E2k=GmLtCg1Zg@LLm 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/pcolormesh_datetime_axis.png b/lib/matplotlib/tests/baseline_images/test_axes/pcolormesh_datetime_axis.png new file mode 100644 index 0000000000000000000000000000000000000000..05b451f940c8bba348da658fd0332b5653ec1320 GIT binary patch literal 36842 zcmeFZby$^Kw>G{M8&PQy1Vu$cKxvRL2$2@)lX<`_~&*?&lkQwZS_dS7KJ+h4EgU!x=@-i3Uvh~ zE`0x~Q^MSkv(wY=J)xzxmZUeI^`42N{D^u!-MDu=qSEV`+(+%82Ue%a3K?k~YP=&J zW1|&C>W}w}T@ZP$INC6KBH#U;8N;b(H|I`2&(f1In8NK`8=+uR`PN*@KHb{vUY+EV zX3v)FJYs9R5X&3ux+oVDdm8Qsg}Qf?CY$^46>1fa_`>0)!~XV1KPi1BAH3VNy zNl2iIE6CbfA#8fhsELSdb*>i z63)Yk@H*{FY&K97#G+9qJl+s;lNR0FEJ;i29~6|mF?jAWpR(sU6pHh9@KMyv$%Pjm zo=8id6WE#v@A@D?4%0?PNJvUfPE06gWMou1?c?n&XK&A`prjODUF}(!Y-ngG@8D2m z%6$oC$IQnUhfYbs44-9!&mA=$G^bkQi1A97efm^bTwMIAhK3X+m)YCVQEgh<6xH*49+QYob3g0W(@7%d#H}m6au@la&p63#AXRPmI_2PEa zTh|4SU>91+d&eT9qB?%&>HZ$84_NJ#5t2)jPRtSt2n@VVi{9Pcb+LDLcGkOn@sV7F zix6^g`84VFXe|%%p)z}0r+9;wIFSG{W}6ae0%o?gsLZq?lSufI#P1xIDjEBrudgqz z+PchyDm&JVUs71^oP`|C$z;pCFkdo0O)}!^WW7PY!L78j^V%c7Z;*)%`OVa+2($7; zk@vGJ(JxpW;M-aEh>?`fIQy91ZC82Me62vSBbSUIEUMV8=k#_bTH6PUZuOJOGOQFY zH1faq>-0Mwbf<7ZD>3uzjIxTi_Hg?dw2ZG&>PvgEFJtu4zC8x|rS&|s8MluR%4%v# z6Vpk))oloF-x%?fsdU{a+Hx+o82Z-G;1f(Eq?yYF5jQqIzPPy!V@>(;McAjfN&EJx z?u>ULslzsFU5eSr7sp?-)`bQugyW-%_9oj51Sa=|PX|XI=i5IL;pPe`%rOH@b2#N_A}eSuJpf{^oCL&zwlj`irV zl2b$X6%-U!m+H=U?(gjw*S#j-(EjY@(st+KSq`hwd;KNW*C5{1Xk=t$(wdu_Pblpi zNBzJ*4DHvJ_oz5*rzE!*$`_5szWCYAb}__bIUhWDK!4+gx3BN8(>TH7$B)s*ovCuF zs+T4wC)-zlcV_4}MRDkUJ)6x%gSuyXQS1n6m4Nud$wVIO7bGI@ke$1|hBfyfBPG>$ zAEy#<;b2zDe>K${`!G{6o0b+WoygZ7#jN&C`}U&|3lz%n`C)RneZ=}lmHW<|hlPm= zqf{)Lw{)_g)cyPSk!?h7K_O>jlP{q)qVbn-E5mc77OUrH6w0rhsA7L&q4{*>RED$P zck3rOI=bF!_d=!{=OZpDh4($S7+y+EK58NS%%I2R+FMZ<7rwRmf#`EIf>{Ij@<%>n zD%=zD3PWa8Y<6i^caF&)$1adnoT|)KrttGPHGfmFN5|`@$jlI)wEuA;Ihk#hTk=Z| zGLCl`dn@dB?Z~y>X|9^O(4qxvM-qwG zo`y2HFh1;^lcYoAGI8Q}hmK-M z(e4~S=@lK5XGVS>8*o&-ea@neLHY2WuMp5(`S-j~e6VrpMUxK^p`F=aXc5 zjzpTo1AG6OpXpQA{7~&Ov}mSupO{Cxo5yKux&JXZ!hhE&|GZ96at|e{^+~prx%DR} z^9&~j(lb4i{$gYrAw)SXS&!rIkYJMYq^Ob45lH%#!Fu97S zQrXqoL!YjV#kK?qKfSKGI3(;DtFNO^N~mLBucKc(o;tD2#VzJm5opHDB|UP1dhv?~ z1=_ymg*)@@2WD;+V6<2!oo?D8D68lZsGoCT<>Gw# z90YEv4>TK*#c7Z?fk-4A~+P0TKiy#Ci!6ZX5~sFQ_xcn z3E}(p)YvW01NHlMYg$h*zGZYw@9=Y)C4_~Y$3BSkro1w>T_DnGQMZfKq=hJqbiq5W zG<$<~g;YbXj80j(ftpcKZbLrLzbrs$agXoi43@YkgjDgAfr;<}45 zVg~APL|B-PJh$7X)%NCi2m>42lYo{JC@adtf_$3z!u{jNk2~%^!Z z`oi>Hg($|q-)8wqivLd?QjGTt`%*@>+|2YK5}_`Oi>mm&uQ|vMhEB+Skkz=NaN2M? zOuR%f^4@aCPik^+)A*BT7Bb0dLxramx*l8;ZqTYJBl65Edy>cYdptWXuPF9sjoY=S zW(fplEDmQ)xq8HPu4}z3YxG6ED_eKZIn~W+N>>t-@zdY|^X7?Thqv~==GedK#p4;x zhbfUix-V#GC`p+o`8UTin&kRLNBMZ;_ZrmuWgAEflU%%_h)ruhQ%zSB>1b+F?^DY* za^YA1&m8hsv;BqiM6F-WR5|KIsNdvSS3H&TiiOXjQSJ{~*Vz zt4Vo8E|H^NS5=jyb;gaI-zsa^h1_~qHpoa!7G$u(lL`Pi}>=%GlpQ+GconVt03(Yx;&r%)Uch($%`ZGuEm1rYNTiZt zil2UgF_RsZ;3w&#nEQ+-3RJ(GyA;z~FJhSzR46XctE-8OVJ1mv)zuz6tHpThUC6>G zZ*6}6fVPZ9{X7BTWzX)w%A>*!QtivwRP97j-6YAwVSY&bxvAR6e=j{p(#q@>85Ow* zR=A-<-Jj%R`GZnnJIQo16QG@kLwob};lARiM{BZ>jL&(R)Uh$0OM-4ZNJ>~s(*6Ho zV3|=ahij-=Y@9P`1+EFWNcJ;1Woi8O?d^23XVO$#vW(BU%VCv$P#EwI+4r-fV{gkB$^rzpCWu|8Vhz(JqFI6j zEx(7|;BZ>fz9i&Pv6d%vu+>I#;le$5D>Cn&{JRSN^e8!t`rE9mTQKsHmhlrWpA!)g z8Eq^KT{5RYc^Q62l20WNg6IE1vWTYd$s`xGB=-%>Qc+*XIU`hYV8&8gGT+Q1a<6>zZf@8f|u)AuRIp8b#@C_ zyZDBWXE?X##zl~Mu^1`~4GB4a8K!x-jg5_sUQn>gPsz#4S4TbH9QBq)AZ$ECEPvi9 zJkcX@zi)#*sOXyq4EyutFE=(mluT4{g-oVuy~DVVv>OFf;7Qlm9C=xD52T>?L6qG6 z2`LFlNz$>gu^bkIJOst(P@ne@2(qNPc|!PezJ61BetsBmIFOT|ex;}tn^X}cLxJ1c z-tM5Zthf(Afy2C?nc0@49BW00jtvYpI~$FPsTTtgPnlvTv%bT3&EVf6>o zXI@U`EF!17hu$jI#(GCEsAKm&#(O+|DSV!zJx|GQj)aOE|M~aQ01B*V%^aasi zZH}e~Mszed*;}md_Co zU-lGfkZI>@kL*3ZcsEvHsie`afF7cfpNMlPG zO>Ccbee5$}HtE*Wd?JTk6K;@$apY}8X(yVA=H=Uv>SoWdkX~jI!Rm$Nwp^d~7H`Fm zOmI~AbS`U&;7`P7c~705l{KU%TdjArjoNMLzDf7T$O-17sHIznne;r654&Hr$6bI6 zVFhyN&)6>xU$#s@p`;G;xI5IFW1w4JNohCQQvwYWG~y1I0u+k>1VWV-pIhF$zO=l2 zm4>Ey4TTau+?&)FTW+KSh7P|e(=pi;jTt6Ep+XQ1`LioP`kMFR;gIl>baZty9{QYH zttZzqsuV||s1XqFwegujnT6!irN``st?xk-1@)99k=OP$A}n{NN?oHxgGg#p;f+Eq z{6TR*SH}#W68PTKltL}wf{5Yz1_u4Rw*&+dx7X(-gxiSZ0$=9dDw{n|80s&QO#dWB zy5~K`Ch6hqe>EoHEBPwRq0s z6Y_B{n((!|CJ6+a5R7;|BBP)X2O07MU~V}N4?z)O4vrsxrBhZIRa#m`dAUrH4fz6{ zia6DFZXH@iMR_Jo#tO#L8OqC{W#@ZL=uFU-nkJ?q8A|L;5 zW@P~F86#_}-E_T7tE(dSRB$wUJZmPGR{2woMRZa049^YK>Djz&miGCxh2y-@)pTV~ z45_l$cdehA#&{WhZp$?&j&GR~O4b^I)F@X2Gy6 z=|k~|M|^%k!S9q1!44N33N=W57#%N9`{ExzaiZhJaeOE{9ox$BT;@j0WA%vqNKkwh z^_l&U+6n@J`GFP*F#1*NZMQro0<;Oev}ENU5YYLTP=kvF96xqUcDgkYM0N-%ZzQD3 zM``W;0A~NShjOCV%ZY$9Gd3VcQR2M@Igxp8Tz7N#T$&rGZ;B7dH7%lj8;{#IDd_p< zR7tbHS4}^>5S3f@~&=QWOBfp$-e1M)$ z+P{Z%6JT>#Wk>m3StBTvj-baL-paj8lK<`(LeMix_@FA19cLk%h3-L$+NT^z5d&X; zRn8qAEs^YM|9uAXTBzzR|t0&70E7^XHRlI+McJmo;PXS5OKU3w9%|{-KeKLFWTXg^<=(%)&gZy5Wj<1sxQ|Od_)#A~{yS1h(^_u!4tZrxx&AD( zl8kvbBYat->JLnzUHxGg>cj8Y_Qh#d9MEKFo6tc5BNNkaR?jW`ti_3uL zv290CZ>hQ0X@2#RO|`%3s?u?aLy9=3nIqU1kct zJxnS$Y;49QSa)e4mktdLB^ajbSW(u~)2mDt5fhW|&C&SXm4RUli~g9t_Fl4bayBDd zb#gW>8=7Y%moGC5^va>fjU*+{>g#7vh>6U+Yok5yypY7e+9v;1&e0nN{iUIy6Iy)f zA3ypZJ$f`N#86L9*;7-=&W;0F3rJ@l%s~>Av9l`_tFZPDP5};u2rDd;4CCqLPY&yj zWueQO$zy5h)b32B&WZ2g*&*jIarow_mp)L+QE#`xLMEg+%!EMv0%9cTW{1kTC#R=7 zS0DP3k<4m}W;JcCCDQ;CuT9lXCAxA>y`&|GzYlm)#fau9{R99%xZ{J>V zS?gB%E#tWz{#ES+YLwzI?m*tWUIL9!QW6qbq!Cyg0#eG(AEj9Nr0|RK#j1EBV&cm# zorQx2Y(hfGw`_$A`sTvsJNf>Mti$k%Y|&$DA95U#f>v>l{eAU5(Y_rL=cL3m5xN!r zyXWD4?lw#AY%Hc3Cc8)R+0P0?$M!>4*V8g*9NpIDCWn)Zn@mf$yc(wQ&oBDnL!uK` z+lJUfr~8~`@m~(mGck=<@2}+!Voa45e&$^h+L|Pj0W1a0^DaZx+@kFm|jg?5jm%?ffNbh;dRZ;pp+#fBsA~u@4JCCocsOH zk3YPT|8x)9`1pineqmumD;uH_4=4Wg0&Jvh47-MCy8OODOUrgC2wJD|zw2K3xKN_Z#3O zeG$15nPfq#ix7Q{PS8KyVsD3@_>uk?QPp90fQ407G65oZ9BMa z+Y(rQ6(aLjo^FGUjt;HmU`c3aXXn*c!+6QBneSnPW7*w03^cq%CX}%2nbg zY#xx+{O<4w5l zsc+xDxv<+ie*3$C3gs6lBy>&^3UEiCNX-d3IXBXb?5uZ-;c?-sho#tbWO3>}lm z8mfyIHGCnru)Dp*uY%|*>FxYMJ{|WKc8)=kaXv#tL<7*h<@16*T%-j)IuKo zFi0ipg5B|vfsKsf>241KD{7ca?Zx3rDk`dG5S}p3ZXhF25fRn4@#D^FReL1HVm&7} zW;1hb?%hLG@2w9stJ@Bg1O}eX$;#3*m;xEzR!%N-;J-}iwUsy13k^a@9#aR`4e71R zu24X-=+7*IcO}-8tngWmiau_m`aoc3X9ovf31jw`MQ&@3YqJUqooVM`X_J(4HCto^ z)<`z6y=~j7WEfKn5*L3zhpI4#Z=tS0AZ4-Z2Ov`=D|?|DOf}7B1J-THLTy9kj?>_K z!2v;{bQ^-zN+cC|CL+hf!BIGzr5W(gNIs0|e+}oPXGe8>n3Qssu({Q(pe0UEwZ!An zt3Zy0M%86>J%;dF<|zZRIB_S67=AGDWVg1qNx zKhCXOk89B&W6`R*C9u&L$+X*Vn)@4_{j*^>KC{?;@aK@a`u%mMKlbb5{7%;Z?v`F~ zir48!;p_7Q4G&+R{RR3SI2eSQGcq!$NJzf?`t>UzH1wJKFqo7Y{n1O%r_x&F45k)n z1RK!k_wbwSxOwR++i7Ww-ki(lDcD}IYE~Gzdw{oQaj0C$Wnp2c+`dzBPIs}Tdq6O1 zE0w{Of3Vn+<~%k3Mdxp}1OEt^J54lV?@rKNakN^Q5D)hC9UZQ8#d+@IXt3i4(7P)E zmkU4GBe1&QCK^PG;KNn9X@ooyVoj?A^>Rv?nt!}|SPDs1T~<~*yVQF8L^6+c?e>Uh zN~jcFI9(|P1x1-L(|X><)T}v8)AjP8h7cMt>XpIm&5d>U*?DKxz!WR!CI#J&mD~ju zYXvZG6DF_OZHK9flG_4y%F%-{^6F6tcI=kVV)cO_Of>@oLr-rW)dkoc6Zc=9;N0B)xWeS5tLz+2 z_o4BKAr<+BXtwH4p42us1CpEMGVfmkWH-e1pUeCo+g)sB^@r$$^FGg+VvzIRzJLE} zpxCm_cB(l~(17;}*f(0B2ZmG~hbSMx1{%-i5W#Kwo7b-|saaO)7tjY!COi~lb$JqQS}IeN z(pA)5+m5@H7>T84wh_n^QmJAi{}t#SxIZD7(Cw*_s3a#>V^B~!jME5>PE2eeXVsj5 z-L95AKD*8vH~!suhP~A|Ifd8dJ07nc?-2%O=E>UH2UXVNuh;Il@@0JJ%vH{NvA4Hp zzVPky;Og6$=;#I}#jH`NTs(!9CN?rj{NHV-TPL5@yLU~&%Km94FjKPukCi)}mhCfz2-7tlC)^|NQwLlosT}AdCw$E77H}f%rZ5-4=RtX&{E@2a2ba zG@ZR|ZEVz|;**ox@X2odkn#lNRN=N|li~g`J>7S@Ejc$}|BLzot7{H4OP$BR2JyRZ z+X(_ZsM`uIy2H&K4ZqTM`t)f?!Y5Cj#1$HMX1VwFIfI?A!g^ekn$M0NK8oF-8QDMO zLdX232p~_mySpQxqC3~4zIlCKNes7w!|^gR2koq38w3Rfsc2~0aMNwmP;jCPbIZ!& zxGe_1K~8$I9nfbs1%kG;gv7&S>nBOn+kq(*Z!Zr?-UDCY7vh`J6OhSpFV72pGd4Cx z&?!uS(Dux=av|Z!=xE&M=Xks@(Nc88mS81JlZ>r}q?V;paLMg*(-Ah~j_V-lb0VV% zyCIR)hB36V<#23E59;s;ozJ%#5cLwRa0&?H}TtS<%9EtSf$N3&k zwjv7^&bZB-@`W*8+o>f8J>&ynOP?mDTLQ%;ru6sy@1g3If5e;Sb~u^f<|rPrDPfjE z1lD7InEo923X0TniS_v5WgyGqK=0r5yP2d7XnA3<)FGMHL?-FG-q_2N=T~69fA;o9 z@2vi=15{+MvNJn%gN|+mgu<=m2Ab)gKb5QOu~D5Hkg6fvx4>la3uz`PWhpjs(0PWs$_ZJ^*w!EvXZ&p4;~WAE3G*sag0NI!Zsx>&W-I%U}1-MtH{LIF5b z3_J ztDLvzC|(e;p$qpTCL-ctVEAr8)0`}n+}Y8w3B`IE(gC)JH!~YHlOfzA;5;a6wHwa3 zDQlp?S;gN>11n4Ii?^WBLv`VT_TF379qa_8_ykgsJk5%pABzp`>alwn??ys0cjO_5N0WeN2*x!E)axdrh?pMv+Jgy!A(y_^C zttou_g-7xV3iXgZ#_#BU{aLxUJ|%!_W*^MaxQjhW4Tx7@XcEcB0pXloief9sX7=2} zYGKXmfMP?Y5VV;%#Xhoymz6SK;8wD;HJzNj6IMFKQLLD)nun&ZaF|y$aFC|4xA)A5 zZdO;MgZb7oA8#yuiequjuKaOLWUJp75qrY2rkb%5cGFxNC7zy}8hPeF{I znO0O#=vLEfFypelfBy&&lX$V9OZCmo5LVOxLTv%d@m|0F3Zh#)oK9s!LHA`sr8#DI z@ihS@gxY=`&HiUVDlG==$)JzJA|e}o)UtZ7XG%v?%$9QJ1B5qqjg_ z1--(wx2o`F+e$x;$L7_Y?d=ulYG;KgDJj{is8F1zdI`eVa@_8 zrg*4!MKxy@R?O(TtwM4}Vy|pa!H%SE^+U^9b`0*bt#iw<_fQd(vQ_J$Gcg61Tmi*q z3xYOlqoV9&cdqB2DHJ%Z@ab^XSx|qrpv?9(G&MDC0f;Tr&1pB97#vhz=qtEs*Is{wll-27!qs%31gSIZFC;64EG*wX!zUtilmP%MsACj-NAZLlOw7)qWq z&MepouPlZ7U~iIaVnowB>A(L}QSmDf(kYb!gJoaBYn$HWnxjA_2DbkK!Bszcxqp;tsjg07he0*?Ctkuo15sp-Ejs;LrP<&rrUhc8%ouzJ| zozL8%N`v=LQ2)_a20W7Az(oVAhJB^@Q z4A3je`0CZ($*g@H=d6tJky;A(uSs0{ldPWBs>yjb+hW~QGb(62cSEny(kAp6g2w5D z?aAH+GawgFFrRB+-W%TF7p4#=6MGvYuvPBbK6yeUv@vK)MNC`=OI_i#tb?_krIrQ5 z_F$R}jR&Okn7%v;%w*wBSDRSVeV5KG6?Uw*IY7Z(DDF1e+E>IxM67|TYE`-Q5Cow|YMgb~VVfORz5x5rFT4I{3?A>RPI*s(SF-;x5h1nVUjZ$W<#2MyjGkXDR`5 zBfwNX!^PcpH?5(bvlp9mH}?0WR_TD=RADj17aS0PfVbg7WBE#RPM{^QqY~ZS+%~li zwxidqn-*~ZOQ{G6Yrr&O6`nS)Y=cnJy9QieDE2Zkid1C=ylz2D#pN2();gUECMe>K$7(n2H!1QNxXdW5tt$mGiqe{xjMH=|((C41NK z+}X2*EbEisxL8#Szb#ZCqzFRXdAPzk0m3GlRci`ZQ4-9BT#9I)y{WA0N{&`_E7adH z5U5r_MmO81*WPk42lsi8+AF?H_h!z$PYAkLpZg9aLDyg>N6CnB5n!A4RNO#O6$BIn zpAa11aD(F$2yPcz`F0J_20=j8hCPzRZJDG|3fdmVwZc}^)7mc3UNpH>o|1W7R9ZT? zb35?bPFFsG$+o1fb5zmf)YOUuYvn|QAmm~x53tEB@C0+&IWl70Po$|iljp{Gff{XP zWR%__@)XQKQ!ol^SaQqZioSkp(}NGQT^aIoi;I@Fgcof))2e+ZR0VGVb`HTma|U7R z2!H^{fz&b}uEq8{T?TCIS|wJ`p$_N^aDJ^_xoQH=dTEETd3NOp2ryqD49>&B z6JXFaV5A-aina-96vMPJUp!&}wR-gP^T8r>HEK?i2>a*n`uBH64s0M-Ie+##;s*T- zmwESzP%&hms;jE@PiV=^wG>(@dfHsy_~J(_{aYq@0{BlOoL@pRE?|9_ml6A34SwyAAfvv(+TUK ze4>L{tq95i7x`d@x#_$+KUlCpIgY_dMRA7!h=v&11u(=FtM>Hi7x`4lUkKSp2rC@o z$sZ>DzVcdYhYAO6qk`OA*0y-=HkbQ_H#R_#n1DVE%dJ}#x_9Tln+3-0PZ(J!Dw4q= zri=xd;JNXS9~skD8A9FX0{2%#Ja=EFpwUiXBkgIp6<&u(QfNwCypOX zo!MM`K(qxA%2rwVB9NmLb)e)(0YMrmHLgPlQ8 zg>!7*A%QybPd+Mi$Mnwn`TOU`e&MQ5x-%RGu7Vb!y;b5|&`Xhgp7<8@D#&C7!)1kc z(Bp}5`)Gqe(%FQ4uaC zbMF>jUGU|*fReDh`B5+5Ayps5JIJlOUnwoS)Pih*fDC4A9l@Aq{uw z+z{Ya8K<*-szW2PBR^4K;;pzXo#v=CSB+E3jOYp6KcG@9{^kp2tTB9Z`L zBeHu5E^S-Z{O1UeLHh6h>Vn&>&FUR*@;<35{oS|oG%Y==Rwm(_e<~$XTcBQS~ zBTpNS-h9OSmQ`&2v@>naJaba&7AL1diI7T>0Pt%eAc!nXOuFIU_4XQ?5e)}npXS@I z*|)VU&0@4=tSV=C= zP)-P6uqg%y22MaNF4OZ=y#?okAcr69jT~Ss0t!|xsWG8p%8SkVYC$_TT~Yi1tN6%M zE}o&oP#D*2P#~Ku*C~iE1{B;mC`e&_m7?9c>w#4Ak;RF2;tK)LRkC(+;*p7EtKU|h zKQ9@=zjCVBw71n@nIonB8wdvcaDH)rCMBdqDxM2;Vl!MMn%xEr2~A*nGvl~~@MbV5 z8nG+KNzy?nB=&^7Al*{9OIihYg+wAG59AsixEAiM=O?MPp^jli3R@e^dvg*w9igxw zC9-<6o^=!Q>m&d>1PAPFZK<$ca)_8D-~l2D=)iO+1aoo*frKN~Lh$Y~q8=bBA1MAw zct?*S!nt%)RujeE_s}A~OrgGbwH<#+`HuP;QcP*C6u?JY=guv`1OJwWHyi&-m?Nmk zNpNx&xjtX0`7FN&Cv^W3ex)V3_^n3MOV$Q=Uk_F|7Yuv5p-ZLoHA`(o z6g-JqFw+s|lqOU))e2?&^w{oJ3#kl~0C{J*)pyZw{ic!}yXag$CcqOHKeFU`u%i{< zTP{y2f&)<85KbqBaP?&%qFHIg-Brt8>^K(nlFx9ucKSKq$rS+b+0OR43|5LsBG8O! z=|3(d7rp^?14k^wUxP@BMKY^7_t&WcX!k^v_I`nzFi;kIdS%)cBMVNZHrcjX|k;m$0h90_b;)f zpdUI&3F_%_*}3u?PIGbiW_-`y8$_dN4;eGq5I|-#U}0sQ20pAxuKdxpmq8+jiH+Iw zG%EvxwW_Dh`|R~Wu_4mZprJ|O07*oBQp)!DQ7HGcxFg<|2$}( zQY???!jyK@M$5>T%55qPr(DR-HBs48UOJx;+52Nr=Dj;6d7vv#nY*n+P$@VM8e;az z)*LeCz({iQmZjde@q{(Z4GMO4@u+g=I_%s_9&|aXliOe1YSxZE?)bZ-eyUCzXz#{c zU*}Xp|La-(X_v>T>^6yO@G;l~IJ67$@7A#E;^Y=?+7^VGQm~}4lqM#p#I|lTsszB{ zUaV0n`+-gr(9!e!OQ`r3PNwYYgZ&-1jUh){fI8;Vwm1@#5CyTD$|g9fy$fT;&cQ@2 z1ysZ)H@^i_2ek65Zv7EzE zn9E>Zmje$4H049T>(SEC&|q-@tiG9X$%7dKF$Y7v`HdW0f^*1naJ;1wvO=N9p3644 z*&hL5_*CUF@4{?@Y3!oyT{*bilHIhzM@mW>5gRKGvGX1vp)90h&|Umg3yt2DWt*^z z?1Z!Te~diFc!;STr72?@qEF9+?OJAX=F?Wn-R8`yw4#4{0aBWE;&Fu+>-2+D2;Aw8Tn^*vwg%Ei3NWP;sSQv-5Q;3XPCGH34W2dICp~_9aNFm-e=E){QB6d3h@=M+Bh?hPODU z1a+Gr7KV>4*)2BlwGbwKdR!dej6*Yu)nzO)_1A_S=KK2+nZoCENu9S_GFuWuJSR%E zlFCC;Mw13jjy?e)F4<$70ckHo#>r-?Ve3`@1e}Z229W4n*;>-IXB zk#>MH*8-Sq%+3N>MhqNtB=bWQCa&h*S+D_F6Qx`gGg6e=wYIu0~KYiQfuX0P09jp(E)teQbJb3^~0Wm{7Awdpbfi;+s(H~5PGXSLD`cS+0B4!pq zsU#v-!AK7}>T2uV#UHRz>Cgf@G($8tW7I!SVX>Lwsfy61bFi=&!uMt_W&19u2%U2o z9_XC&IxpM~e&J&?IY-CMU0gFzIS-yH7*30|wKWwP*;hz6Q(!PvYa<22%S8}KLI7+j zFLHudc=#S1{>Fjna)|EldTamDtQ)S=Cw>F^)e6Y`P7q^U(eR?#dP2x4e%c7r2|P-*Z+JP-EVz%h)qt=?UcSjXYU8RS!!zyK9n zI@Nmiyuj)OKx@GP{{Asr>&^i;ZrlL(z&IDUKmKT?9y%QU(vH8!94&PZ&<)a`Lr@cl z17>Won;_rrwt4P%_Gic>@YKMe|Iv~Xo`r#8R-llY`Feh9oN%0=7W&NmaK^wO$Mfce zl=h#ay7{(ny#KIoEU)&b^9Q2X*@4R7o!C&w8 zy3BcV;UrreN_eYeo2wd>G-}UXYq0ixK+X`srP86b{8U9n9QtQ(!PG=c+h1f(iLn@p zgPyW5P}(~;u3!II5uBWyJTU#Q_7!AtA0<)u`|^XKxJKez%p@`epz1b(xC>kETXQqw z<^Ty8Tuf6ZY24nxO+)8$gUjB8)u99Fgdh6R{xGHe!<=&1Tt4FahV95R1H|xxmU##eiJEyO={6&<1T`OL#PE1=Aq-B!+!qg-w%F6@-QA!-b>wsL!h}}lLTek87N`T zIZv=(#ZU9@-23t0-38C%{$sCVd7&vp<2rW-F&+SoQl{aKZ($KQRrt4Vp+78esNf|j z@XCbSSBirc3TEaX$Wu80m2#N!vePk-2dGIk{$n#8PLH7&l-f5sIL zPfS5PYE)E`z|#ionNkprozvf9XG*5 z3jf|}@m&4mh~59_%ms3cg18SsyG+-{~nLC{l9rU4&4>T$%%;{U}X^3D6@M9eFJ!YkhS$4 zLPGD?uX|iQKo){WmB`!MW4h*#p{$e;_wVZQ;$I5yzz`4?7M2eDo6GFyy_%XDVd05s zr2;i6I{C^=$jQF0$ize`c=8NOzYYq8o|!T74-W2eVfQ@+heDj_950Cpz{4G0z^OE2 z=)59l1hyfGBIUU!SwvJ69!CMdzOoF6F5AVka8AE6S>MpG6Pg+`przytSfPGY#>8CY zvzvJ{Wto(7NlaIVk66yHsfZHwS>vmm40!9jR#t4{Za+H;@G`LKVBZy-y2UMR<@Q)n z0DE@3o69a3*k>d(G$W%}1GqM5A2X1R-$Ub{w?d=9pasq^knyUgy+$zIpMF6Q>BK>> zdp9>{CN;vN!5iEoDM(F+raxKyG2~@iv9h=@{$pKdDGS1@ zziy$)shaTTW0^=Ciw};M@nEm{Yphn(VG?JuWT!$^n0_k-oDgqP6T}|dGnV^QXD>JX zg|4Sy__`{G$lIk?vQ+KHXq9O{GJCtMtOvIjjgGh96z1rxDZ8d)9U&oXT9D5{BPKvW zcjX*3LC}bvxV|_dgSak1!0mDkuF-xAT&v@25T!A6ttJ*1WrT%)|Nf2aGjLNlHUq|{ z1h)WRh53n>_tXFLbA-z9D8`LiCa!(0Va9f?%3tbw;Y&otif^}zM-PEQ99sRHez2yh zQ~FjgtU>zo^a5Sys?)vRV-N6lzqeg@{LU}&a!wHX%)4gohbRoVuWKK7#eR`qGqsRS zS3>93*_$7IHTLbogNTbvvh-X&*BfcsHVJRM=2cW&*krj%i)N!W5e=rP;r=rA`7~IT zf50;#enag^@gu(30gGlP9ew8X>387Xr=@in58|e0VDL+oiWddj2UICBuoR`iQO1ry z3iiT&Hx#M`u~Glvmb^!02huIz$DUj*8EkKE@s`Tdrx9yGwyQJkg?itK;@Az(A%=V3 zLo5l@8<6A`_wpmC!Q+Vk+r94Cm;1oY3U*3i{y6j-N%-8i5sD-S@JhWzAB9Rff*gNB zPS+x*9oJZL>>?*7^cZ+m4gcc*7iMdayA#qFV#Zp!7#I;x9?Ac}L{rBmp{v60`~DML z*vZF1ncvNBa9frP^2mz+*XQLlAtZpw24LI!qa>2 zdry(wJI$!Q(?`pAku>mzi5Y{@(W`fsC3F_)&fhnCq~qsxseDH1#hJY9N72JYwfRjw zZHwot*e&!8p#|+|uz=liT6&a_$iBE!>blU!%f2y;i&RPdHJ^0id#~txFncq0S1M2L z?)ZR!yT#Ae+quo~XrA*Ii`Y%+?g~$chrYTjX0CnX@Z?XA)fvUJmjriDpFRjL&toBK zh~*~mEDfXKsK6P_NarW_r6g}14NXlB^YcA>XMg6g-rE56P8p(|g+a3f<6Yx;-*2Ak zg&JUY3^3onGLkjqGZmU&C!&Tz(LP6>n?OtZ#JG6qex3ZM#+Eqo&>@F<=lSNbvbd37 zW+8TLCcT=?f&@RG{bXsfN-J8Z97)&6#N!m5|FYCY*D2Va-Hqj!Dg0b+ROpjQw0W#^=S$|6fdy_$Mv>R^E9%0EdKASi66ThJ z4nB6A7V+cg(OV20roHv6(bqak9rLW!tlOV9Y82XA&m?Y^K6^-x$>Fs0r=xIq@$$9x zji>>NkYZ!emX-3Uizoai{8R>pI=-iCMEzAM1BFy?y_2@-X0!)1aST|MBPvIF5#l^nduR@@au*PhC14sskc_oR8sN z)48!arZJTnJ56I;mA^>++i1`sEkL2GMQM{$!$ReH%0}^5^MMGZi^cXBliYwJhS&37 zDRPFHXgg9L4`yFV{vqiZYmh15RAW})U=Uyw9}*wcFira){L843ah0ez6gF2FJ5%C{ zrtl30wAz(~_0qO}<(C(1nM|o`@mBu~NjUb24`$&v zkxWXBz)UA2Yi*}MeFZj+q&0vG5ag+&7|UIo%0 zL1|HPpQ^!lwG_x~#2OZ>Nj1=Ad*m}KK#9-QF z0jldO9L(9T_odeV$Ozmv5^OMvASX<(O`+}$LJIf#QhV%rBQQqVL_Yg4sBw?rv3-(B z{3=|Q!*go}NA3;6K}7f^24y)8qaRm5;Q#60SY=B_E#D_8nNStxBoQZb zj5zJs*k$q9fS*L<<^ge@k5ksmzBO}Os#auHS`Q3~#gQ>}sIF5Mn=^b6o$q*G%fqhn zF>v5|j054TH z?YFE>f2&>dp#D#3;gy2sul>zA2Dm{kiOfk3VgBDSXG z8Pt~>P!fGD6JF>W0oi||smU_pzLDtbTLD5~&A`Lfm^%-Vl|sDC`i&6`HmmJo5()~D z$lEK?)w?2~)?5c)=n_0{=d&#mcQO!nLpDv!Pt?_K(fUZAjDaqHb3C^URYNFDs5o$8 zuxg4zl~+s~Vn|D%1sihu#KeSCULWcLI}%yR5Lt}3Zt>5xv9q!1!Q(UXL9y%0)Af0( zq$B}8&Kq~{4s?(my=SHiXuwnFD3Lzc*xvxpcB-U6T_}c2T*>>#({}zfL6n@h{;Wi~ zWw3>@iiIr4A@5P~R%3-T3!6q(D--XOPk&OD^jCBC{+I&``45BXiRF<$GJ^)n#&k&6 zlJKgyEe7aXth6wk!6bd7Xy!O=zWqx@OyaP8KWD|RE%&r24>Znc4~H9bwWeb3+6afKI=^-RGWzcB@ zN(h_Wd(%h?l8PYsdlt@|d(OG%p3nW=d;b{*kaxfDyVkd#=UMBXhP;3GRLzg>xa~X|XelTyfUe0s#|3AM?y&iQyNwd?D(eQfj!16O;Iax)q89rs!Y*so2rWUzR zGJNFie5>AA<$M;TT$%1+_a5af4;z)pDf!}F~HUpVG2`sP~-RWUQ4>PkCp&QY-p zxiO?v`rAtqY75MDKmfhxZXi#Too=H z*Li%%N^_UC?2xd+O&@owx=r5ySMldTdi%akb0PcYUap2~A@7wnCpOyUh-I+to4J)M z_G0|QPjOBZ3B6R~s4!z@_OS}az0K+LeO#)Y=R+^iC@#M7k#;?@d)8?j3pm8sm&75k zMMSwYqv*zvIQzJzfc|eq;muQLT5oKu~Z#u6|wvxWbBt<*hGPJv= z=PmGc{NP0pqAl~Y@#3QugtYEuxM*F%&H!=Mt!M$|4Nz0MG2FKrb5#)^y&mB{R(=t1 zp=H}!;zonI2XJZh5wY-B^SZ;hKnmGwApqt0aK3?Mn(_S zHS)DZ*DhGcfhXO?H+*&D(*0*R>1hBBukzgF!aEZ2rfAQq`&YM2d3|57{m{0OM|yK# zejjq&x^Mrj0Ffcw-TCKl*&5za*%}&MQ&W>(#HA^4;*+-X@PI}5^UpuCf8&*sG63X- zy{PNmnyR&d={3!{vU#q@RX06O`{~5#aTPQ5DBp@hY*sCtX8KzmQj9BarHFCJX*dYB zl|QsP!=BT^pXSHdq;SuUA#P?<$0zm5$trQ>T?MrP$!z<2K5dC_d*XD%3pdNHI#M($ zYD%|`)_yumtj9lRvezp{K)ETfjvnm|_cjJn)+C_Zwfq~@}&yV3u7`K|E@CN^mpytdHm#&p+l~ihIeN( ztb@^{z2zehn%oEM&HJgma1! z?s#q9Qx6B}HJM%7xR?|jzWxWyH6IuX^JRa!kR9t<+|7~2*dKYD9+K;Jd;#m9IV$V_ zqHJ2VFNS9&ZKJzPr~Sssd)S-0yb8nh<~{ne=E|DPmQP$Xhu21|f$rlSsV*ia`?Gs-fkT|QjiV^C67Q~fCN+%|p-!-lF#(X-Pj2ez1?@_s5&95zhj#iQ)+ zHF~&NXkV28=ZVJQ0~X%f|EYHPpFG6;x`>>xD$uTUFY(R3krG;9ZIQH>QD_zAJ2ZJ- z$ewk4qqDN+69lV8V+hDCmQV4Y3)W6G!X2UhaS20~8K&0Z9Z$NA_}-kM>6wdZ(Dktz zO*Te{GqOGuD!p@MtYqx)`Jrv`x9lL|>P8uGtDuFMacKJK(`rc_F{h8FuD%Pl7sHr- zB=^8!2N3}H^Dh4`c|!4f$+DnwzFL5~?xw=ebPLQyH-6L9*4{(HP9yXn?1&`7y5((` zweH-#yGua<(m2mH5P!T{)_w&D0Y-pf0`jscLuBcK&UN#@;NHGT*Y^3++7d6X{^qBN z=qeqLa_!liA;Pkt^XK`0aq{^sqFkPb5Bz|7Dg@=tJ0LBLfCIkx^}~H%pE9&MC0dUy z@UbH9$%T_b$q;#=0)CVcke{_rj7~J?+8IVhqf4cDW6d@`F1cIsZbkPNfB$5lrgVSH zMpnDW1F79EcP;1*zDlf``*I4t*1uuwZOQbrEZE4;IjyN<7Fd=aKw`E4rWG$&jc9!I zi%T#(&N0Rn)_W{AgITHA*W;R^zxJz5kzHo0`~@}lfH?gwjX3d>BRb!Jp^iiXBXrZ--~^wE6cPVT>Fb&|v~?vl<}Q1+7%|eV zOHWO$YxG{H*bC_7{Wv3F!BO|~s0*iFqcj8lPdncsnbYnSYi+T|r3{hf3p$A!+A9&V zG8P#{8vdf4KW#pIF&?EwS-#_7H&nUrf#~rTSwiPz&%&b>s2(oAdbwoRt=ih!ZZN%q zfZc01#6P)*4y;ysUJv^kh~jh-iN0N1xwoHo_&)pP9UyogfR?zA&o=`;ZDOGQ-C*US z%el`ST;>_-0#wejHAzYf1IA$iJH=cOpnL&$OWJwI}_P@dsy` zuE>d;I5X=vr^A(UXrC4P5)7||m+VUjO(?xPWZ0A``HrD&oEvGB;ALX<>Hf7FLu;Rj zY$xrh)N}KK%705#|3}}_vIbf0sk)i_$9Lz{%IK((7v4AM>`!=rf1Z91qLajDtp8H93McgF0+AX(K!TZ(QneX4+hM-@fIGZyI|ya@@I$ zQsj-wcFBYO`LF-!iLr;D@Rxj3)psA2*~80w7u4i(WFGO96b*fwO$%PFA}J@Y`{H#n z0Ic2zO79)y9gKi*ya*8GI}BQONl8g5-ZYTwcQo8jv&r+M)~D!7)w3IX42a|Y_THp? zCx3(BW|b}$-Zoc8O9Zx@k5HmE!m zQynCypK2ly^=3V6V+`jWoB+K18`MyO;^U7O5Qv-r8tdA*w&?EPb%93MS_Vnz4kDoo z0uW9MoE{^9;~lq3P1dPBjEy~}k*d{Eb8q2M_jz~zYRN7|VQc1Ybe=3nT-qN4(%9Ux zeSwc4v8e~SD>UwYY%4K9^P#SN6v_5-uhvZQmvz_9d)aaF3(VddOgvNcc2X@Zq085! z_4a=}v{ldRYEkx-2bZN4fRX_N36bPVDWFTag9Q%#Txg<&d@8=wEHf6&M}MQ1&~|ZF zJw-EbE*a7n>9vq-9?a_y*dhlo$KE4OxqtT_=V1xmW>gm%vP^COCwYRsw zCS|j73;TlA^Ifx7GJU57T*odXCnen>ygJ9N2AQUT#0Lrhq#ls{m$%}Uqtp-j$xEZm zAip499%!@^U>bL$Sr>e1I8Tn$Nne|*J$oj(7adiacZGQ4x8~Oz7$Q>fZDb7u>N*dq z4j({VDJq4;%_vblUAJca+7$pE>;etB77)kwp`8mC#LQpfxzP4aoQ`#;5t1G~nloKy zEvS9!)b=Zf&nqh{t7lgaVh;{b(xc5M_cp3z(KYn+_RDQ?ygTu+SxrDtP-a)Y5WO|A z`?YfvTPXg!^}*#=oRkpAWt7!x8tljE68FGCc?*7_5pwOIyLapQBu2Z0a3!~pzm_|@ zIXzH(?7T#9;Z)V}{kI*t!)w}qM$4?lN|2KcXg7poCt?MA<8HkRVigkWJH!Ev0l^TSirk|0M;V?v}&~t3~g@lBH?ry+w zHHH86-Ms%P!{q4HZ|Ba%XlQCK|6V|)DmJES#{nWu1HE_<^TBIRC*(c%_sRVAj_2Qu z)l(7pwa7fD-i)F4=hvnIvFgJSCiQllTLdonBs_fB z55Uy~Myj`c|8dcb3uMR2d?&l2$s6v&#R$+a@}S`jj9~|ftWDBD%w}i9Z0i;(-g7Np z4>=aav7SnS2E-f%Miz?>LJf#Fr4Ik(lX!F~JVc96Z z)wQGhYmDqzrx&O4Pa26wBsV-T^Fohw8Y(_I6bd9q955rNgH@#W`26ows)mM!u&K^W zY+_g#`~E$9YW8Ims)D)CUQuVb<6ms$7v?f}b|1KhXHVNRx^Tsb+|9t&X{JcAm?P3&L zsaNbLnsjy7L`oU@sXH)IZG?uhCg|vK*yIDE{!#W-hw}ksr%2S*SeTm+L|hVucUM+X zX=KxP`HjL+RrY0wkw}yWh;WwM$H%4Sva&a-LIq35v47r5o@C;SdH4`J2|WQ`W1UCV z1ePw@wFvq5Wa`tZTKyuoe$4D00R0lPXy8RxKMf7t%;zoZ7cGAU^jQ|>2mlP6lE5J> z*BbQ@r^p?J1qa7rM%>6>JjEqym_enE?aBdxPbBL}z-4tIc52S{H+ z9I6>#Wa%Gwc2R9A9&HfRm`s3e-CA9H`?0l!Bqa10Sr&;PqCM|z@thgLUX>hqws@6( z7o1leAd`I{(k4-*9L7M_I0Xbr0&zct7&7$@P~lm$0#kcEVX(!?As!LAd7g|?;qRvO zt!u!COvecl0=SQlf8K}sP(YmMb(XSo;2E3&Da3K4{rNOfC7!7%skzZLWYg*+lX_ly z>(;GId?$wBJKGa(qdxh*(VOZ${Iej$)rf!Hv}w~a26-(+GpU{EbD06A!-I#&`@7p{ zP9F`oDc%uK_(1Ze=EoSYYLJB|;(eb|K|%ue6kVTe+|PEMJ@^7wriJ62wz?kl z_{K9WsXQUh|K@bv>m}U>0I|pb={1i!XB(*Y2Mq`Pi08%{53TqEAwwLS`um8tl&ONk zO)52AC+8$|8B)mru7X^2KAirYQHZ*FCIuEwZIc^aj1C+45}B}SH-=Tt(rqg^*IG2B z5eCXPjC5LZVtgHLqigOJwVeTKhix z^?^;L6Nyc%$#Wb-g+K|LBXzmfE4R}IypL(Hg9gE&x>|kH$)ls^mHk!^Zh^_)!@KT_ zH+8&YDFa9+Gbu?P+<^7&ymwEs_e~Ioi1b&?`NAnH&r=oE)s0J6Z0dvOUfb|Fzg(}# zEek+LwNgKhM4&kB%9h75&OqEM9VCYGSx`P8<}y)e%`Cy%Ty{7qfnOPSqFteaG_ z8!ho$U9{y9+xE-U8{fU@nQwp$)kDZk*Loa#(m2!eK6)wBXoL6T)p$-_<$CZ1b~!jT z+J&6nW>r-1*0e(WMGJyoPj9dH-7ev3C$G~FtEI)NA$0S&T66s!{CXD5;Z#t7Ymo{L z(Gmk%!SURYvxZZgxLtH=m#^_hXzs^!P=%Nhdr_i8yQ>J(_L`V~TyNB+bnJ=rD*M>L z88k^qNlM1#$xnv$fREH4aoFDB zl@BW{8;8m1*%VD`v=m)(uDb~0?nHXQ@R+g}U{kfoaCL^%AbKeV2(rNhPyLPPk1|lJ z2;tK&)G~o$I>wrMO@_-CF-4&MU-J;Dbp`S_AFOhq&Qfvzjk@-J zh#ubGxXTXN;5>k^h=^1K)bBH1-&H8b85tct(0J^F89UF}zNnnVQ6|JeRwKr=U)jbNe8vXpr^G-~+{8T{>l)$^qumDfz=$DZ_lx`Z zCO;-ng#CeXTa$BIoWhIoS^$i4!0)TY26?g0X;fjU-M|k_k6&R0QFKt* zbZvhddHizL|9Iu3j@Qq1=L=N6K9p+KIDI+>I<)Ggb`H}M{Up#9M^o(wyrfQs6M;>R3)0% zbFqriG1b=%wsoq!I0^RQQ3M)Ps3lC0fuMG;GzuTXLvRbl+@~z-YeQnD#IRwt5);#j82Z;JS3@hq*^vQ*}x!kMrrm;VV|H6Ka0ph zvyX>xZqd3~Sl(6V%u}-+3uYj%k>@y8Xh@j>3uB6Jb$N>1=uqf!1xs5>qbi%8F`i zWg#IUWWw+MB2T|7h0`u+p1$*49smV9c|Bwtv4BH{H4rSgQ($Xh0A{lP4M)-S!ZJ2yTkL>iX~w7tAZ$< zgnB9l(*#Y(xE%99&dn~KG56afL1oF^{-x&Q*Z3<=NV4j{gI>Okf8RbDWWeSgDB=R>~gX^D|eVa69O^nollNli(w#Tzw4Ml|_q zy~;{x;?ymuQ@56p`JJ5MMxg!;U$3b#9-VvXfUxN}m$a1W+8Y@b6ch_S(jBU>`^zRR zYh`6WWGcrDJimT;>6x;&e{O?fTHvrsOb^`Io>(GxqHAzyTFuNX88TApUZcJSeaVSY zRFYfFXE+S`FFcf0=?#|0?YqvM;B28>fZlyN`?Oay|SlwQPv zV@7;K-GDr^Zk{Tn=N^hhPc*V6&#iMw&FhldzRrXDF8lY1L@Aln>gz#l<&rerRvbAL zhbyoS3ZkN)hEzhIpGa#{pD26(LGEWgqPO}KAFz}yUL*bo7>YH(QxD+&6UoD2F6A-R z;eD+-+3P4Yi~CTUP2Ad-eyV=Nxb6xq>R35NVxnIeWAv+R*}X*> zbhnUXzt>sTJ7A)g4^E!gwx5?2>lGk5xR&#ipSlOtd-@z$*Q+^2Pw}WkrBY+`GT!U9 zlB9|1ZOtH%carJRqUY45zJIgVLpv8IG=CLCZw2I56(Qha5aBke4x^am9CKm2Ik#^3 z7mk~f_POkfyWSvY+}U9AqB-%3l`YLA?Cpv=q^pS{Ee>kZ(-jc0A(krkQIy`)lFa

    y=o;zHcpN4N*T+C#E2k=GmLtCg1Zg@LLm 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_datetime_axis.png b/lib/matplotlib/tests/baseline_images/test_contour/contour_datetime_axis.png new file mode 100644 index 0000000000000000000000000000000000000000..8c75860cceb0864c9a80dbae6e795a4b63a35de4 GIT binary patch literal 57449 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 G1^qAm7n}_M literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 1eae891360a3..68aabf011a78 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1,5 +1,6 @@ from nose.tools import assert_equal from nose.tools import assert_raises +import datetime import numpy as np from numpy import ma @@ -663,6 +664,59 @@ def test_pcolormesh(): ax = fig.add_subplot(133) ax.pcolormesh(Qx,Qz,Z, shading="gouraud") + +@image_comparison(baseline_images=['pcolormesh_datetime_axis'], + extensions=['png'], remove_text=False) +def test_pcolormesh_datetime_axis(): + fig = plt.figure() + fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) + base = datetime.datetime(2013, 1, 1) + x = np.array([base + datetime.timedelta(days=d) for d in range(21)]) + y = np.arange(21) + z1, z2 = np.meshgrid(np.arange(20), np.arange(20)) + z = z1 * z2 + plt.subplot(221) + plt.pcolormesh(x[:-1], y[:-1], z) + plt.subplot(222) + plt.pcolormesh(x, y, z) + x = np.repeat(x[np.newaxis], 21, axis=0) + y = np.repeat(y[:, np.newaxis], 21, axis=1) + plt.subplot(223) + plt.pcolormesh(x[:-1, :-1], y[:-1, :-1], z) + plt.subplot(224) + plt.pcolormesh(x, y, z) + for ax in fig.get_axes(): + for label in ax.get_xticklabels(): + label.set_ha('right') + label.set_rotation(30) + + +@image_comparison(baseline_images=['pcolor_datetime_axis'], + extensions=['png'], remove_text=False) +def test_pcolor_datetime_axis(): + fig = plt.figure() + fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) + base = datetime.datetime(2013, 1, 1) + x = np.array([base + datetime.timedelta(days=d) for d in range(21)]) + y = np.arange(21) + z1, z2 = np.meshgrid(np.arange(20), np.arange(20)) + z = z1 * z2 + plt.subplot(221) + plt.pcolor(x[:-1], y[:-1], z) + plt.subplot(222) + plt.pcolor(x, y, z) + x = np.repeat(x[np.newaxis], 21, axis=0) + y = np.repeat(y[:, np.newaxis], 21, axis=1) + plt.subplot(223) + plt.pcolor(x[:-1, :-1], y[:-1, :-1], z) + plt.subplot(224) + plt.pcolor(x, y, z) + for ax in fig.get_axes(): + for label in ax.get_xticklabels(): + label.set_ha('right') + label.set_rotation(30) + + def test_pcolorargs(): n = 12 x = np.linspace(-1.5, 1.5, n) diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py index 120b4843e436..76cf222d72c8 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -1,3 +1,5 @@ +import datetime + import numpy as np from matplotlib.testing.decorators import cleanup, image_comparison @@ -177,6 +179,32 @@ def test_given_colors_levels_and_extends(): plt.colorbar() +@image_comparison(baseline_images=['contour_datetime_axis'], + extensions=['png'], remove_text=False) +def test_contour_datetime_axis(): + fig = plt.figure() + fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) + base = datetime.datetime(2013, 1, 1) + x = np.array([base + datetime.timedelta(days=d) for d in range(20)]) + y = np.arange(20) + z1, z2 = np.meshgrid(np.arange(20), np.arange(20)) + z = z1 * z2 + plt.subplot(221) + plt.contour(x, y, z) + plt.subplot(222) + plt.contourf(x, y, z) + x = np.repeat(x[np.newaxis], 20, axis=0) + y = np.repeat(y[:, np.newaxis], 20, axis=1) + plt.subplot(223) + plt.contour(x, y, z) + plt.subplot(224) + plt.contourf(x, y, z) + for ax in fig.get_axes(): + for label in ax.get_xticklabels(): + label.set_ha('right') + label.set_rotation(30) + + if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) diff --git a/lib/matplotlib/units.py b/lib/matplotlib/units.py index 0bbe697b54f8..8f08a64d8804 100644 --- a/lib/matplotlib/units.py +++ b/lib/matplotlib/units.py @@ -44,6 +44,7 @@ def default_units(x, axis): """ from __future__ import print_function from matplotlib.cbook import iterable, is_numlike +import numpy as np class AxisInfo: @@ -132,6 +133,10 @@ def get_converter(self, x): if classx is not None: converter = self.get(classx) + if isinstance(x, np.ndarray) and x.size: + converter = self.get_converter(x.ravel()[0]) + return converter + if converter is None and iterable(x): for thisx in x: # Make sure that recursing might actually lead to a solution, From 649f02949e4063fe072116de0bcedf634090a650 Mon Sep 17 00:00:00 2001 From: Felipe Date: Mon, 15 Jul 2013 23:14:43 -0400 Subject: [PATCH 079/329] Typo --- doc/devel/add_new_projection.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/devel/add_new_projection.rst b/doc/devel/add_new_projection.rst index cf3109380204..3ec636a82356 100644 --- a/doc/devel/add_new_projection.rst +++ b/doc/devel/add_new_projection.rst @@ -17,7 +17,7 @@ that handle data in two or more dimensions at a time, are called From the user's perspective, the scale of a plot can be set with :meth:`~matplotlib.axes.Axes.set_xscale` and -:meth:`~matplotlib.axes.Axes.set_xscale`. Projections can be chosen +:meth:`~matplotlib.axes.Axes.set_yscale`. Projections can be chosen using the ``projection`` keyword argument to the :func:`~matplotlib.pylab.plot` or :func:`~matplotlib.pylab.subplot` functions, e.g.:: From 1a2a4ca54863f35789acde16d9dee257fc63f4f4 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Mon, 8 Jul 2013 17:53:42 +0200 Subject: [PATCH 080/329] MEP10 axhline and axvline are now in numpydoc format --- lib/matplotlib/axes/_axes.py | 89 +++++++++++++++++++++--------------- 1 file changed, 51 insertions(+), 38 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 26ea42417d88..22f002757f3f 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -596,31 +596,40 @@ def axhline(self, y=0, xmin=0, xmax=1, **kwargs): """ Add a horizontal line across the axis. - Call signature:: + Parameters + ---------- + y : scalar, optional, default: 0 + y position in data coordinates of the horizontal line. + + xmin : scalar, optional, default: 0 + Should be between 0 and 1, 0 being the far left of the plot, 1 the + far right of the plot. - axhline(y=0, xmin=0, xmax=1, **kwargs) + xmax : scalar, optional, default: 1 + Should be between 0 and 1, 0 being the far left of the plot, 1 the + far right of the plot. - Draw a horizontal line at *y* from *xmin* to *xmax*. With the - default values of *xmin* = 0 and *xmax* = 1, this line will - always span the horizontal extent of the axes, regardless of - the xlim settings, even if you change them, e.g., with the - :meth:`set_xlim` command. That is, the horizontal extent is - in axes coords: 0=left, 0.5=middle, 1.0=right but the *y* - location is in data coordinates. + Returns + ------- + `~matplotlib.lines.Line2D` - Return value is the :class:`~matplotlib.lines.Line2D` - instance. kwargs are the same as kwargs to plot, and can be + Notes + ----- + kwargs are the same as kwargs to plot, and can be used to control the line properties. e.g., - * draw a thick red hline at *y* = 0 that spans the xrange:: + Examples + -------- + + * draw a thick red hline at 'y' = 0 that spans the xrange:: >>> axhline(linewidth=4, color='r') - * draw a default hline at *y* = 1 that spans the xrange:: + * draw a default hline at 'y' = 1 that spans the xrange:: >>> axhline(y=1) - * draw a default hline at *y* = .5 that spans the the middle half of + * draw a default hline at 'y' = .5 that spans the the middle half of the xrange:: >>> axhline(y=.5, xmin=0.25, xmax=0.75) @@ -630,10 +639,9 @@ def axhline(self, y=0, xmin=0, xmax=1, **kwargs): %(Line2D)s - .. seealso:: - - :meth:`axhspan` - for example plot and source code + See also + -------- + `axhspan` for example plot and source code """ if "transform" in kwargs: @@ -660,22 +668,26 @@ def axvline(self, x=0, ymin=0, ymax=1, **kwargs): """ Add a vertical line across the axes. - Call signature:: + Parameters + ---------- + x : scalar, optional, default: 0 + y position in data coordinates of the vertical line. - axvline(x=0, ymin=0, ymax=1, **kwargs) + ymin : scalar, optional, default: 0 + Should be between 0 and 1, 0 being the far left of the plot, 1 the + far right of the plot. - Draw a vertical line at *x* from *ymin* to *ymax*. With the - default values of *ymin* = 0 and *ymax* = 1, this line will - always span the vertical extent of the axes, regardless of the - ylim settings, even if you change them, e.g., with the - :meth:`set_ylim` command. That is, the vertical extent is in - axes coords: 0=bottom, 0.5=middle, 1.0=top but the *x* location - is in data coordinates. + ymax : scalar, optional, default: 1 + Should be between 0 and 1, 0 being the far left of the plot, 1 the + far right of the plot. + + Returns + ------- + `~matplotlib.lines.Line2D` - Return value is the :class:`~matplotlib.lines.Line2D` - instance. kwargs are the same as kwargs to plot, and can be - used to control the line properties. e.g., + Examples + --------- * draw a thick red vline at *x* = 0 that spans the yrange:: >>> axvline(linewidth=4, color='r') @@ -694,10 +706,10 @@ def axvline(self, x=0, ymin=0, ymax=1, **kwargs): %(Line2D)s - .. seealso:: + See also + -------- - :meth:`axhspan` - for example plot and source code + `axhspan` for example plot and source code """ if "transform" in kwargs: @@ -920,7 +932,7 @@ def hlines(self, y, xmin, xmax, colors='k', linestyles='solid', @docstring.dedent_interpd def vlines(self, x, ymin, ymax, colors='k', linestyles='solid', - label='', **kwargs): + label='', **kwargs): """ Plot vertical lines. @@ -2379,7 +2391,7 @@ def pie(self, x, explode=None, labels=None, colors=None, y += expl * math.sin(thetam) w = mpatches.Wedge((x, y), radius, 360. * theta1, 360. * theta2, - facecolor=colors[i % len(colors)]) + facecolor=colors[i % len(colors)]) slices.append(w) self.add_patch(w) w.set_label(label) @@ -2388,9 +2400,10 @@ def pie(self, x, explode=None, labels=None, colors=None, # make sure to add a shadow after the call to # add_patch so the figure and transform props will be # set - shad = mpatches.Shadow(w, -0.02, -0.02, - #props={'facecolor':w.get_facecolor()} - ) + shad = mpatches.Shadow( + w, -0.02, -0.02, + #props={'facecolor':w.get_facecolor()} + ) shad.set_zorder(0.9 * w.get_zorder()) shad.set_label('_nolegend_') self.add_patch(shad) From e0cf44af46ce9133c68d6d72bd1c3555fbc6b96e Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Mon, 1 Jul 2013 01:03:18 +0200 Subject: [PATCH 081/329] DOC modified sphinx's layout.hml The previous sphinx layout relied on overriding a default template. It meant we could not easily add links and other things in the header. The new layout does not inherit from anything, hence makes it easier to tune. --- doc/_static/mpl.css | 52 +++------ doc/_templates/layout.html | 234 +++++++++++++++++++++++++++++++++++-- 2 files changed, 244 insertions(+), 42 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index e03e949cd88b..3a3b93f71e4e 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -4,7 +4,7 @@ */ body { - font-family: "Raleway", "Helvetica Neue", Helvetica, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif; + font-family: "Helvetica Neue", Helvetica, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif; font-size: 14px; letter-spacing: -0.01em; line-height: 150%; @@ -13,7 +13,7 @@ body { color: black; padding: 0; border: 1px solid #aaa; - + color: #333; margin: 0px 80px 0px 80px; min-width: 740px; } @@ -32,12 +32,17 @@ a:hover { } pre { - font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; - font-size: 0.95em; + font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; + font-size: 0.90em; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; letter-spacing: 0.015em; - padding: 0.5em; + padding: 1em; border: 1px solid #ccc; background-color: #f8f8f8; + line-height: 140%; } td.linenos pre { @@ -125,7 +130,7 @@ dd { dt:target, .highlight { - background-color: #fbe54e; + background-color: #ffffee; } dl.class, dl.function { @@ -141,13 +146,9 @@ dl.glossary dt { font-size: 1.1em; } -pre { - line-height: 120%; -} - pre a { color: inherit; - text-decoration: underline; + text-decoration: none; } .first { @@ -218,10 +219,6 @@ div.bodywrapper { border-right: 1px solid #ccc; } -div.body a { - text-decoration: underline; -} - div.sphinxsidebar { margin: 0; padding: 0.5em 15px 15px 0; @@ -263,14 +260,15 @@ p.rubric { h1 { margin: 0; - padding: 0.7em 0 0.3em 0; - font-size: 1.5em; + padding-top: 0.5em; + font-size: 2em; color: #11557C; } h2 { - margin: 1.3em 0 0.2em 0; - font-size: 1.35em; + margin: 0.5em 0 0.2em 0; + padding-top: 0.5em; + font-size: 1.7em; padding: 0; } @@ -359,9 +357,6 @@ div.sphinxsidebar ul.toc ul li { div.admonition, div.warning { font-size: 0.9em; - margin: 1em 0 0 0; - border: 1px solid #86989B; - background-color: #f7f7f7; } div.admonition p, div.warning p { @@ -376,11 +371,8 @@ div.admonition pre, div.warning pre { div.admonition p.admonition-title, div.warning p.admonition-title { margin: 0; - padding: 0.1em 0 0.1em 0.5em; - color: white; - border-bottom: 1px solid #86989B; font-weight: bold; - background-color: #AFC1C4; + font-size: 14px; } div.warning { @@ -518,14 +510,6 @@ table.docutils { border-left-width: 0px; } -table.docutils tr:nth-child(even) { - background-color: #F3F3FF; -} - -table.docutils tr:nth-child(odd) { - background-color: #FFFFEE; -} - /* module summary table */ .longtable.docutils { font-size: 12px; diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index 09f5000d46a7..44ec400443e8 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -1,17 +1,183 @@ -{% extends "!layout.html" %} +{# + basic/layout.html + ~~~~~~~~~~~~~~~~~ - + Master layout template for Sphinx themes. + + :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. + :license: BSD, see LICENSE for details. +#} +{%- block doctype -%} + +{%- endblock %} +{%- set reldelim1 = reldelim1 is not defined and ' »' or reldelim1 %} +{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %} +{%- set render_sidebar = (not embedded) and (not theme_nosidebar|tobool) and + (sidebars != []) %} +{%- set url_root = pathto('', 1) %} +{# XXX necessary? #} +{%- if url_root == '#' %}{% set url_root = '' %}{% endif %} +{%- if not embedded and docstitle %} + {%- set titlesuffix = " — "|safe + docstitle|e %} +{%- else %} + {%- set titlesuffix = "" %} +{%- endif %} + +{%- macro relbar() %} +

    +{%- endmacro %} + +{%- macro sidebar() %} + {%- if render_sidebar %} +
    +
    + {%- block sidebarlogo %} + {%- if logo %} + + {%- endif %} + {%- endblock %} + {%- if sidebars != None %} + {#- new style sidebar: explicitly include/exclude templates #} + {%- for sidebartemplate in sidebars %} + {%- include sidebartemplate %} + {%- endfor %} + {%- else %} + {#- old style sidebars: using blocks -- should be deprecated #} + {%- block sidebartoc %} + {%- include "localtoc.html" %} + {%- endblock %} + {%- block sidebarrel %} + {%- include "relations.html" %} + {%- endblock %} + {%- block sidebarsourcelink %} + {%- include "sourcelink.html" %} + {%- endblock %} + {%- if customsidebar %} + {%- include customsidebar %} + {%- endif %} + {%- block sidebarsearch %} + {%- include "searchbox.html" %} + {%- endblock %} + {%- endif %} +
    +
    + {%- endif %} +{%- endmacro %} + +{%- macro script() %} + + {%- for scriptfile in script_files %} + + {%- endfor %} +{%- endmacro %} + +{%- macro css() %} + + + {%- for cssfile in css_files %} + + {%- endfor %} +{%- endmacro %} + + + + + {{ metatags }} + {%- block htmltitle %} + {{ title|striptags|e }}{{ titlesuffix }} + {%- endblock %} + {{ css() }} + {%- if not embedded %} + {{ script() }} + {%- if use_opensearch %} + + {%- endif %} + {%- if favicon %} + + {%- endif %} + {%- endif %} +{%- block linktags %} + {%- if hasdoc('about') %} + + {%- endif %} + {%- if hasdoc('genindex') %} + + {%- endif %} + {%- if hasdoc('search') %} + + {%- endif %} + {%- if hasdoc('copyright') %} + + {%- endif %} + + {%- if parents %} + + {%- endif %} + {%- if next %} + + {%- endif %} + {%- if prev %} + + {%- endif %} +{%- endblock %} +{%- block extrahead %} {% endblock %} + + + + +{%- block header %}{% endblock %} {% block relbar1 %} + - - + + - - MPL | WebAgg current figures + + MPL | WebAgg current figures
    {% for (fig_id, fig_manager) in figures %} {% set fig_label='Figure: {}'.format(fig_manager.canvas.figure.get_label()) %} - + {% if fig_label == 'Figure: ' %} {% set fig_label="Figure {}".format(fig_id) %} {% end %} - + {% end %} - + diff --git a/lib/matplotlib/backends/web_backend/single_figure.html b/lib/matplotlib/backends/web_backend/single_figure.html index 3cbe5a7f1f99..a01f639c9bb1 100644 --- a/lib/matplotlib/backends/web_backend/single_figure.html +++ b/lib/matplotlib/backends/web_backend/single_figure.html @@ -7,23 +7,23 @@ - - + + - + {% set fig_label='Figure: {}'.format(canvas.figure.get_label()) %} - + {% if fig_label == 'Figure: ' %} {% set fig_label="Figure {}".format(fig_id) %} -{% end %} +{% end %} - MPL | {{ fig_label }} + MPL | {{ fig_label }} @@ -52,6 +52,6 @@

    - + From 27482be73b5ad69d2d52cc77cdf698d3a0a6d3e1 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Thu, 23 May 2013 10:44:38 -0400 Subject: [PATCH 162/329] Make the WebAgg backend work with the IPython notebook --- lib/matplotlib/backends/backend_webagg.py | 74 +++++++- .../backends/web_backend/all_figures.html | 80 ++++---- lib/matplotlib/backends/web_backend/mpl.js | 119 ++++++------ .../backends/web_backend/mpl_interface.js | 174 +++++++++--------- .../backends/web_backend/single_figure.html | 75 +++----- lib/matplotlib/figure.py | 8 + lib/matplotlib/pyplot.py | 2 +- 7 files changed, 285 insertions(+), 247 deletions(-) diff --git a/lib/matplotlib/backends/backend_webagg.py b/lib/matplotlib/backends/backend_webagg.py index 3d121ac3d18b..ba3bab84d4ed 100644 --- a/lib/matplotlib/backends/backend_webagg.py +++ b/lib/matplotlib/backends/backend_webagg.py @@ -10,6 +10,8 @@ import os import random import socket +import threading +import types import numpy as np @@ -30,6 +32,15 @@ from matplotlib._pylab_helpers import Gcf from matplotlib import _png +# TODO: This should really only be set for the IPython notebook, but +# I'm not sure how to detect that. +try: + __IPYTHON__ +except: + _in_ipython = False +else: + _in_ipython = True + def draw_if_interactive(): """ @@ -57,7 +68,30 @@ def mainloop(self): WebAggApplication.start() -show = Show() + +if not _in_ipython: + show = Show() +else: + def show(): + class RawHTML(object): + def __init__(self, content): + self._content = content + + def _repr_html_(self): + return self._content + + result = [] + import matplotlib._pylab_helpers as pylab_helpers + for manager in pylab_helpers.Gcf().get_all_fig_managers(): + result.append(ipython_inline_display(manager.canvas.figure)) + return RawHTML('\n'.join(result)) + + +class ServerThread(threading.Thread): + def run(self): + tornado.ioloop.IOLoop.instance().start() + +server_thread = ServerThread() def new_figure_manager(num, *args, **kwargs): @@ -127,6 +161,16 @@ def __init__(self, *args, **kwargs): # messages from piling up. self._pending_draw = None + # TODO: I'd like to dynamically add the _repr_html_ method + # to the figure in the right context, but then IPython doesn't + # use it, for some reason. + + # Add the _repr_html_ member to the figure for IPython inline + # support + # if _in_ipython: + # self.figure._repr_html_ = types.MethodType( + # ipython_inline_display, self.figure, self.figure.__class__) + def show(self): # show the figure window show() @@ -199,7 +243,7 @@ def get_diff_image(self): self._png_is_old = False return self._png_buffer.getvalue() - def get_renderer(self, cleared=False): + def get_renderer(self, cleared=None): # Mirrors super.get_renderer, but caches the old one # so that we can do things such as prodce a diff image # in get_diff_image @@ -436,6 +480,8 @@ def get(self): manager = Gcf.get_fig_manager(1) canvas = manager.canvas + self.set_header('Content-Type', 'application/javascript') + t = tornado.template.Template(tpl) self.write(t.generate( toolitems=NavigationToolbar2WebAgg.toolitems, @@ -624,3 +670,27 @@ def start(cls): print("Server stopped") cls.started = True + + +def ipython_inline_display(figure): + import matplotlib._pylab_helpers as pylab_helpers + + WebAggApplication.initialize() + if not server_thread.is_alive(): + server_thread.start() + + with open(os.path.join( + WebAggApplication._mpl_dirs['web_backend'], + 'ipython_inline_figure.html')) as fd: + tpl = fd.read() + + fignum = figure.number + manager = pylab_helpers.Gcf.get_fig_manager(fignum) + + t = tornado.template.Template(tpl) + return t.generate( + prefix=WebAggApplication.url_prefix, + fig_id=fignum, + toolitems=NavigationToolbar2WebAgg.toolitems, + canvas=figure.canvas, + port=WebAggApplication.port) diff --git a/lib/matplotlib/backends/web_backend/all_figures.html b/lib/matplotlib/backends/web_backend/all_figures.html index c3566b7963c0..62ab46adfd58 100644 --- a/lib/matplotlib/backends/web_backend/all_figures.html +++ b/lib/matplotlib/backends/web_backend/all_figures.html @@ -3,65 +3,49 @@ - - - - - + + + + + - + - MPL | WebAgg current figures + MPL | WebAgg current figures - +
    - {% for (fig_id, fig_manager) in figures %} - {% set fig_label='Figure: {}'.format(fig_manager.canvas.figure.get_label()) %} - - {% if fig_label == 'Figure: ' %} - {% set fig_label="Figure {}".format(fig_id) %} - {% end %} - - - {% end %} - +
    diff --git a/lib/matplotlib/backends/web_backend/mpl.js b/lib/matplotlib/backends/web_backend/mpl.js index f9d9761801cc..e7a5c63f350c 100644 --- a/lib/matplotlib/backends/web_backend/mpl.js +++ b/lib/matplotlib/backends/web_backend/mpl.js @@ -1,6 +1,6 @@ -function figure(fig_id, websocket_url_prefix) { +function figure(fig_id, websocket_url_prefix, parent_element) { this.id = fig_id; - + if (typeof(WebSocket) !== 'undefined') { this.WebSocket = WebSocket; } else if (typeof(MozWebSocket) !== 'undefined') { @@ -11,10 +11,10 @@ function figure(fig_id, websocket_url_prefix) { 'Firefox 4 and 5 are also supported but you ' + 'have to enable WebSockets in about:config.'); }; - - + + this.ws = new this.WebSocket(websocket_url_prefix + fig_id + '/ws'); - + this.supports_binary = (this.ws.binaryType != undefined); if (!this.supports_binary) { @@ -24,55 +24,44 @@ function figure(fig_id, websocket_url_prefix) { "This browser does not support binary websocket messages. " + "Performance may be slow."); } - + this.imageObj = new Image(); - + this.context = undefined; this.message = undefined; this.canvas = undefined; this.rubberband_canvas = undefined; this.rubberband_context = undefined; this.format_dropdown = undefined; - + this.focus_on_mousover = false; - -} -figure.prototype.finalize = function (canvas_id_prefix, toolbar_id_prefix, message_id_prefix) { - // resizing_div_id might be the canvas or a containing div for more control of display - - var canvas_id = canvas_id_prefix + '-canvas'; - var rubberband_id = canvas_id_prefix + '-rubberband-canvas'; - var message_id = message_id_prefix + '-message'; - - this.message = document.getElementById(message_id); - this.canvas = document.getElementById(canvas_id); - this.context = this.canvas.getContext("2d"); - this.rubberband_canvas = document.getElementById(rubberband_id); - this.rubberband_context = this.rubberband_canvas.getContext("2d"); - this.rubberband_context.strokeStyle = "#000000"; - - this.format_dropdown = document.getElementById(toolbar_id_prefix + '-format_picker'); - + this.root = $('
    '); + $(parent_element).append(this.root); + + init_mpl_canvas(this); + init_mpl_toolbar(this); + this.ws.onopen = function () { this.ws.send(JSON.stringify( {type: 'supports_binary', value: this.supports_binary})); } - - // attach the onload function to the image object when an - // image has been recieved via onmessage + fig = this - onload_creator = function(fig) {return function() {fig.context.drawImage(fig.imageObj, 0, 0);};}; + onload_creator = function(fig) { + return function() { + fig.context.drawImage(fig.imageObj, 0, 0); + }; + }; this.imageObj.onload = onload_creator(fig); - this.imageObj.onunload = function() { this.ws.close(); } this.ws.onmessage = gen_on_msg_fn(this); -}; +} function gen_on_msg_fn(fig) @@ -85,7 +74,7 @@ function gen_on_msg_fn(fig) * Chrome. But how to set the MIME type? It doesn't seem * to be part of the websocket stream */ evt.data.type = "image/png"; - + /* Free the memory for the previous frames */ if (fig.imageObj.src) { (window.URL || window.webkitURL).revokeObjectURL( @@ -103,14 +92,14 @@ function gen_on_msg_fn(fig) return; } } - + var msg = JSON.parse(evt.data); - + switch(msg['type']) { case 'message': fig.message.textContent = msg['message']; break; - + case 'cursor': var cursor = msg['cursor']; switch(cursor) @@ -130,7 +119,7 @@ function gen_on_msg_fn(fig) } fig.canvas.style.cursor = cursor; break; - + case 'resize': var size = msg['size']; if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) { @@ -144,7 +133,7 @@ function gen_on_msg_fn(fig) value: fig.supports_binary})); } break; - + case 'rubberband': var x0 = msg['x0']; var y0 = fig.canvas.height - msg['y0']; @@ -158,7 +147,7 @@ function gen_on_msg_fn(fig) var min_y = Math.min(y0, y1); var width = Math.abs(x1 - x0); var height = Math.abs(y1 - y0); - + fig.rubberband_context.clearRect( 0, 0, fig.canvas.width, fig.canvas.height); fig.rubberband_context.strokeRect(min_x, min_y, width, height); @@ -167,33 +156,40 @@ function gen_on_msg_fn(fig) }; }; +// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas + +function findPos(e) { + //this section is from http://www.quirksmode.org/js/events_properties.html + var targ; + if (!e) + e = window.event; + if (e.target) + targ = e.target; + else if (e.srcElement) + targ = e.srcElement; + if (targ.nodeType == 3) // defeat Safari bug + targ = targ.parentNode; + + // jQuery normalizes the pageX and pageY + // pageX,Y are the mouse positions relative to the document + // offset() returns the position of the element relative to the document + var x = e.pageX - $(targ).offset().left; + var y = e.pageY - $(targ).offset().top; + + return {"x": x, "y": y}; +}; - -function findPos(obj) { - // Find the position of the given HTML node. - - var curleft = 0, curtop = 0; - if (obj.offsetParent) { - do { - curleft += obj.offsetLeft; - curtop += obj.offsetTop; - } while (obj = obj.offsetParent); - return { x: curleft, y: curtop }; - } - return undefined; -} - figure.prototype.mouse_event = function(event, name) { - var canvas_pos = findPos(this.canvas) - + var canvas_pos = findPos(event) + if (this.focus_on_mouseover && name === 'motion_notify') { this.canvas.focus(); } - - var x = event.pageX - canvas_pos.x; - var y = event.pageY - canvas_pos.y; + + var x = canvas_pos.x; + var y = canvas_pos.y; this.ws.send(JSON.stringify( {type: name, @@ -205,7 +201,7 @@ figure.prototype.mouse_event = function(event, name) { * to control all of the cursor setting manually through the * 'cursor' event from matplotlib */ event.preventDefault(); - return false; + return false; } figure.prototype.key_event = function(event, name) { @@ -241,9 +237,6 @@ figure.prototype.toolbar_button_onclick = function(name) { } }; - figure.prototype.toolbar_button_onmouseover = function(tooltip) { this.message.textContent = tooltip; }; - - diff --git a/lib/matplotlib/backends/web_backend/mpl_interface.js b/lib/matplotlib/backends/web_backend/mpl_interface.js index d6f2c046b89b..06b782aaede0 100644 --- a/lib/matplotlib/backends/web_backend/mpl_interface.js +++ b/lib/matplotlib/backends/web_backend/mpl_interface.js @@ -6,111 +6,113 @@ var extensions = [{% for filetype, extensions in sorted(canvas.get_supported_fil var default_extension = '{{ canvas.get_default_filetype() }}'; -function init_mpl_canvas(fig, canvas_div_id, id_prefix) { - - var canvas_div = $(document.getElementById(canvas_div_id)); +function init_mpl_canvas(fig) { + var canvas_div = $('
    '); canvas_div.attr('style', 'position: relative; clear: both;'); - - var canvas = $('', {id: id_prefix + '-canvas'}); - canvas.attr('id', id_prefix + '-canvas'); + fig.root.append(canvas_div); + + var canvas = $(''); canvas.addClass('mpl-canvas'); canvas.attr('style', "left: 0; top: 0; z-index: 0;") canvas.attr('width', '800'); canvas.attr('height', '800'); - + function canvas_keyboard_event(event) { return fig.key_event(event, event['data']); } - canvas.keydown('key_press', canvas_keyboard_event); - canvas.keyup('key_release', canvas_keyboard_event); - + canvas.keydown('key_press', canvas_keyboard_event); + canvas.keyup('key_release', canvas_keyboard_event); + canvas_div.append(canvas); - + + fig.canvas = canvas[0]; + fig.context = canvas[0].getContext("2d"); + // Let the top level document handle key events. + canvas.unbind('keydown'); + canvas.unbind('keyup'); + // create a second canvas which floats on top of the first. - var rubberband = $('', {id: id_prefix + '-rubberband-canvas'}); + var rubberband = $(''); rubberband.attr('style', "position: absolute; left: 0; top: 0; z-index: 1;") rubberband.attr('width', '800'); rubberband.attr('height', '800'); function mouse_event_fn(event) { return fig.mouse_event(event, event['data']); } - rubberband.mousedown('button_press', mouse_event_fn); + rubberband.mousedown('button_press', mouse_event_fn); rubberband.mouseup('button_release', mouse_event_fn); rubberband.mousemove('motion_notify', mouse_event_fn); canvas_div.append(rubberband); + + fig.rubberband_canvas = rubberband[0]; + fig.rubberband_context = rubberband[0].getContext("2d"); + fig.rubberband_context.strokeStyle = "#000000"; }; -function init_mpl_statusbar(container_id, id_prefix) { - var status_bar = $(''); - var status_id = id_prefix + '-message'; - status_bar.attr('id', status_id); - $(document.getElementById(container_id)).append(status_bar); - return status_id -}; +function init_mpl_toolbar(fig) { + var nav_element = $('
    ') + nav_element.attr('style', 'width: 600px'); + fig.root.append(nav_element); -function init_mpl_toolbar(fig, nav_container_id, nav_elem_id_prefix) { - // Adds a navigation toolbar to the object found with the given jquery query string - - if (nav_elem_id_prefix === undefined) { - nav_elem_id_prefix = nav_container_id; - } - - // Define a callback function for later on. - function toolbar_event(event) { return fig.toolbar_button_onclick(event['data']); } - function toolbar_mouse_event(event) { return fig.toolbar_button_onmouseover(event['data']); } - - var nav_element = $(document.getElementById(nav_container_id)); - - for(var toolbar_ind in toolbar_items){ - var name = toolbar_items[toolbar_ind][0]; - var tooltip = toolbar_items[toolbar_ind][1]; - var image = toolbar_items[toolbar_ind][2]; - var method_name = toolbar_items[toolbar_ind][3]; - - if (!name) { - // put a spacer in here. - continue; - } - - var button = $('