[Python-modules-commits] [matplotlib] 01/10: Import matplotlib_2.0.0~rc2.orig.tar.gz

Sandro Tosi morph at moszumanska.debian.org
Mon Dec 19 02:30:25 UTC 2016


This is an automated email from the git hooks/post-receive script.

morph pushed a commit to branch experimental
in repository matplotlib.

commit 3dd925735c3295288f085343dfc94a31066955fa
Author: Sandro Tosi <morph at debian.org>
Date:   Sun Dec 18 18:53:19 2016 -0500

    Import matplotlib_2.0.0~rc2.orig.tar.gz
---
 doc-requirements.txt                               |   2 +-
 doc/api/animation_api.rst                          | 338 +++++++++++++++-
 doc/api/api_changes.rst                            |  19 +
 doc/api/api_changes/2016-12-09-AL_afm.rst          |   7 +
 doc/conf.py                                        |  12 +-
 doc/faq/howto_faq.rst                              |   3 +-
 .../axes_grid/figures/simple_axisartist1.py        |   2 +-
 .../axes_grid/figures/simple_axisline2.py          |   2 +-
 doc/users/dflt_style_changes.rst                   |  30 +-
 doc/users/github_stats.rst                         | 104 +++--
 doc/users/plotting/examples/custom_boxstyle02.py   |   2 +-
 doc/users/whats_new.rst                            |   4 +-
 doc/users/whats_new/plot_surface.rst               |  15 +
 examples/api/barchart_demo.py                      |   2 +-
 examples/api/date_demo.py                          |   2 +-
 examples/api/font_file.py                          |   2 +-
 examples/api/histogram_path_demo.py                |   2 +-
 examples/api/radar_chart.py                        |   2 +-
 examples/api/unicode_minus.py                      |   8 +-
 examples/axes_grid/demo_curvelinear_grid.py        |   2 +-
 examples/axes_grid/demo_floating_axes.py           |   2 +-
 examples/axes_grid/demo_parasite_axes2.py          |   2 +-
 examples/event_handling/README.txt                 |   2 +-
 examples/event_handling/lasso_demo.py              |   3 +-
 examples/event_handling/legend_picking.py          |   2 +-
 examples/event_handling/viewlims.py                |   4 +-
 .../streamplot_demo_masking.py                     |   4 +-
 examples/misc/ftface_props.py                      |   4 +-
 examples/misc/sample_data_demo.py                  |   2 +-
 examples/misc/svg_filter_line.py                   |   4 +-
 examples/misc/svg_filter_pie.py                    |  10 +-
 examples/mplot3d/surface3d_demo.py                 |   2 +-
 examples/mplot3d/surface3d_demo2.py                |   2 +-
 examples/mplot3d/surface3d_demo3.py                |   3 +-
 examples/mplot3d/surface3d_radial_demo.py          |   2 +-
 examples/pylab_examples/README                     |  11 -
 examples/pylab_examples/accented_text.py           |   2 +-
 examples/pylab_examples/bar_stacked.py             |   2 +-
 examples/pylab_examples/barchart_demo.py           |   2 +-
 examples/pylab_examples/barchart_demo2.py          |   3 +-
 examples/pylab_examples/centered_ticklabels.py     |   2 +-
 examples/pylab_examples/custom_ticker1.py          |   2 +-
 examples/pylab_examples/data_helper.py             |  60 ---
 examples/pylab_examples/date_index_formatter.py    |   6 +-
 examples/pylab_examples/demo_agg_filter.py         |   3 +-
 examples/pylab_examples/demo_bboximage.py          |   1 +
 examples/pylab_examples/errorbar_subsample.py      |   2 +-
 examples/pylab_examples/leftventricle_bulleye.py   |   2 +-
 examples/pylab_examples/log_bar.py                 |   4 +-
 examples/pylab_examples/movie_demo.py              |  26 --
 examples/pylab_examples/print_stdout.py            |   6 +-
 examples/pylab_examples/pythonic_matplotlib.py     |   4 +-
 examples/pylab_examples/scatter_demo2.py           |   2 +-
 examples/pylab_examples/scatter_masked.py          |   2 +-
 examples/pylab_examples/stock_demo.py              |  19 -
 examples/pylab_examples/system_monitor.py          |   8 +-
 .../text_rotation_relative_to_line.py              |   8 +-
 .../pylab_examples/tricontour_smooth_delaunay.py   |   4 +-
 examples/pylab_examples/webapp_demo.py             |   2 +-
 examples/pyplots/dollar_ticks.py                   |   2 +-
 examples/pyplots/fig_axes_customize_simple.py      |   3 +-
 examples/pyplots/fig_axes_labels_simple.py         |   2 +-
 examples/pyplots/fig_x.py                          |   4 +-
 examples/pyplots/whats_new_99_spines.py            |   3 +-
 examples/shapes_and_collections/scatter_demo.py    |   2 +-
 .../specialty_plots/topographic_hillshading.py     |   2 +-
 examples/statistics/histogram_demo_cumulative.py   |   2 +-
 examples/statistics/violinplot_demo.py             |   2 +-
 examples/tests/backend_driver.py                   |   4 -
 examples/ticks_and_spines/tick-formatters.py       |  18 +-
 examples/ticks_and_spines/tick-locators.py         |  22 +-
 examples/units/bar_unit_demo.py                    |   2 +-
 examples/units/units_sample.py                     |   2 +-
 examples/user_interfaces/README.wx                 |   2 +-
 examples/user_interfaces/embedding_in_tk_canvas.py |   2 +-
 examples/user_interfaces/embedding_in_wx4.py       |   4 +-
 examples/user_interfaces/svg_histogram.py          |  11 +-
 examples/user_interfaces/svg_tooltip.py            |   2 +-
 examples/widgets/README.txt                        |   2 +-
 examples/widgets/lasso_selector_demo.py            |  12 +-
 examples/widgets/rectangle_selector.py             |   4 +-
 examples/widgets/span_selector.py                  |   2 +-
 lib/matplotlib/_version.py                         |   4 +-
 lib/matplotlib/animation.py                        | 444 +++++++++++++++------
 lib/matplotlib/axes/_axes.py                       |  21 +-
 lib/matplotlib/axes/_base.py                       |   1 +
 lib/matplotlib/backends/backend_agg.py             |   6 +-
 lib/matplotlib/backends/backend_gtk3.py            |   2 +-
 lib/matplotlib/backends/backend_qt5.py             |  10 +-
 lib/matplotlib/backends/backend_tkagg.py           |   5 +-
 lib/matplotlib/font_manager.py                     | 177 ++++----
 lib/matplotlib/image.py                            |   2 +-
 lib/matplotlib/markers.py                          | 104 ++---
 lib/matplotlib/mlab.py                             |   4 +-
 lib/matplotlib/scale.py                            |  11 +-
 lib/matplotlib/table.py                            |   4 +
 lib/matplotlib/tests/test_axes.py                  |  35 ++
 lib/matplotlib/tests/test_coding_standards.py      |   3 -
 lib/matplotlib/tests/test_text.py                  |  12 +
 lib/matplotlib/tests/test_ticker.py                |   4 +-
 lib/matplotlib/text.py                             |  13 +-
 lib/matplotlib/ticker.py                           | 262 ++++++------
 lib/matplotlib/transforms.py                       |  11 +-
 lib/mpl_toolkits/mplot3d/axes3d.py                 |  89 ++++-
 lib/mpl_toolkits/tests/test_mplot3d.py             |  21 +-
 src/_tkagg.cpp                                     |  19 +-
 tools/test_triage.py                               |  36 +-
 107 files changed, 1441 insertions(+), 761 deletions(-)

diff --git a/doc-requirements.txt b/doc-requirements.txt
index 9c2c189..e622825 100644
--- a/doc-requirements.txt
+++ b/doc-requirements.txt
@@ -6,7 +6,7 @@
 # Install the documentation requirements with:
 #     pip install -r doc-requirements.txt
 #
-sphinx>1.0
+sphinx>1.0,!=1.5.0
 numpydoc
 ipython
 mock
diff --git a/doc/api/animation_api.rst b/doc/api/animation_api.rst
index d43dc35..3519bca 100644
--- a/doc/api/animation_api.rst
+++ b/doc/api/animation_api.rst
@@ -1,12 +1,332 @@
-*********
-animation
-*********
+======================
+ ``animation`` module
+======================
 
+.. automodule:: matplotlib.animation
 
-:mod:`matplotlib.animation`
-===========================
+.. contents:: Table of Contents
+   :depth: 1
+   :local:
+   :backlinks: entry
 
-.. automodule:: matplotlib.animation
-   :members:
-   :undoc-members:
-   :show-inheritance:
+
+Animation
+=========
+
+The easiest way to make a live animation in matplotlib is to use one of the
+`Animation` classes.
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+   FuncAnimation
+   ArtistAnimation
+
+In both cases it is critical to keep a reference to the instance
+object.  The animation is advanced by a timer (typically from the host
+GUI framework) which the `Animation` object holds the only reference
+to.  If you do not hold a reference to the `Animation` object, it (and
+hence the timers), will be garbage collected which will stop the
+animation.
+
+To save an animation to disk use
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+   Animation.save
+   Animation.to_html5_video
+
+See :ref:`ani_writer_classes` below for details about what movie formats are supported.
+
+
+``FuncAnimation``
+-----------------
+
+The inner workings of `FuncAnimation` is more-or-less::
+
+  for d in frames:
+     artists = func(d, *fargs)
+     fig.canvas.draw_idle()
+     plt.pause(interval)
+
+
+with details to handle 'blitting' (to dramatically improve the live
+performance), to be non-blocking, handle repeats, multiple animated
+axes, and easily save the animation to a movie file.
+
+'Blitting' is a `old technique
+<https://en.wikipedia.org/wiki/Bit_blit>`__ in computer graphics.  The
+general gist is to take an existing bit map (in our case a mostly
+rasterized figure) and then 'blit' one more artist on top.  Thus, by
+managing a saved 'clean' bitmap, we can only re-draw the few artists
+that are changing at each frame and possibly save significant amounts of
+time.  When using blitting (by passing ``blit=True``) the core loop of
+`FuncAnimation` gets a bit more complicated ::
+
+   ax = fig.gca()
+
+   def update_blit(artists):
+       fig.canvas.restore_region(bg_cache)
+       for a in artists:
+           a.axes.draw_artist(a)
+
+       ax.figure.canvas.blit(ax.bbox)
+
+   artists = init_func()
+
+   for a in artists:
+      a.set_animated(True)
+
+   fig.canvas.draw()
+   bg_cache = fig.canvas.copy_from_bbox(ax.bbox)
+
+   for f in frames:
+       artists = func(f, *fargs)
+       update_blit(artists)
+       plt.pause(interval)
+
+This is of course leaving out many details (such as updating the
+background when the figure is resized or fully re-drawn).  However,
+this hopefully minimalist example gives a sense of how ``init_func``
+and ``func`` are used inside of `FuncAnimation` and the theory of how
+'blitting' works.
+
+The expected signature on ``func`` and ``init_func`` is very simple to
+keep `FuncAnimation` out of your book keeping and plotting logic, but
+this means that the callable objects you pass in must know what
+artists they should be working on.  There are several approaches to
+handling this, of varying complexity and encapsulation.  The simplest
+approach, which works quite well in the case of a script, is to define the
+artist at a global scope and let Python sort things out.  For example ::
+
+   import numpy as np
+   import matplotlib.pyplot as plt
+   from matplotlib.animation import FuncAnimation
+
+   fig, ax = plt.subplots()
+   xdata, ydata = [], []
+   ln, = plt.plot([], [], 'ro', animated=True)
+
+   def init():
+       ax.set_xlim(0, 2*np.pi)
+       ax.set_ylim(-1, 1)
+       return ln,
+
+   def update(frame):
+       xdata.append(frame)
+       ydata.append(np.sin(frame))
+       ln.set_data(xdata, ydata)
+       return ln,
+
+   ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 128),
+                       init_func=init, blit=True)
+   plt.show()
+
+
+The second method is to us `functools.partial` to 'bind' artists to
+function.  A third method is to use closures to build up the required
+artists and functions.  A fourth method is to create a class.
+
+
+
+
+Examples
+~~~~~~~~
+
+.. toctree::
+   :maxdepth: 1
+
+   ../examples/animation/animate_decay
+   ../examples/animation/bayes_update
+   ../examples/animation/double_pendulum_animated
+   ../examples/animation/dynamic_image
+   ../examples/animation/histogram
+   ../examples/animation/rain
+   ../examples/animation/random_data
+   ../examples/animation/simple_3danim
+   ../examples/animation/simple_anim
+   ../examples/animation/strip_chart_demo
+   ../examples/animation/unchained
+
+``ArtistAnimation``
+-------------------
+
+
+Examples
+~~~~~~~~
+
+.. toctree::
+   :maxdepth: 1
+
+   ../examples/animation/basic_example
+   ../examples/animation/basic_example_writer
+   ../examples/animation/dynamic_image2
+
+
+
+
+Writer Classes
+==============
+
+
+
+The provided writers fall into two broad categories: pipe-based and
+file-based.  The pipe-based writers stream the captured frames over a
+pipe to an external process.  The pipe-based variants tend to be more
+performant, but may not work on all systems.
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+
+   FFMpegWriter
+   ImageMagickFileWriter
+   AVConvWriter
+
+Alternatively the file-based writers save temporary files for each
+frame which are stitched into a single file at the end.  Although
+slower, these writers can be easier to debug.
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+   FFMpegFileWriter
+   ImageMagickWriter
+   AVConvFileWriter
+
+
+Fundamentally, a `MovieWriter` provides a way to grab sequential frames
+from the same underlying `~matplotlib.figure.Figure` object.  The base
+class `MovieWriter` implements 3 methods and a context manager.  The
+only difference between the pipe-based and file-based writers is in the
+arguments to their respective ``setup`` methods.
+
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+   MovieWriter.setup
+   FileMovieWriter.setup
+   MovieWriter.grab_frame
+   MovieWriter.finish
+   MovieWriter.saving
+
+
+The ``setup()`` method is used to prepare the writer (possibly opening
+a pipe), successive calls to ``grab_frame()`` capture a single frame
+at a time and ``finish()`` finalizes the movie and writes the output
+file to disk.  For example ::
+
+   moviewriter = MovieWriter(...)
+   moviewriter.setup(fig=fig, 'my_movie.ext', dpi=100)
+   for j in range(n):
+       update_figure(n)
+       moviewriter.grab_frame()
+   moviewriter.finish()
+
+
+If using the writer classes directly (not through `Animation.save`), it is strongly encouraged
+to use the `~MovieWriter.saving` context manager ::
+
+  with moviewriter.saving(fig, 'myfile.mp4', dpi=100):
+      for j in range(n):
+          update_figure(n)
+          moviewriter.grab_frame()
+
+
+to ensures that setup and cleanup are performed as necessary.
+
+
+:ref:`animation-moviewriter`
+
+
+.. _ani_writer_classes:
+
+Helper Classes
+==============
+
+
+Animation Base Classes
+----------------------
+
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+   Animation
+   TimedAnimation
+
+
+Custom Animation classes
+------------------------
+
+:ref:`animation-subplots`
+
+Writer Registry
+---------------
+
+A module-level registry is provided to map between the name of the
+writer and the class to allow a string to be passed to
+`Animation.save` instead of a writer instance.
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+   MovieWriterRegistry
+
+Writer Base Classes
+-------------------
+
+To reduce code duplication base classes
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+   MovieWriter
+   FileMovieWriter
+
+and mixins are provided
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+   AVConvBase
+   FFMpegBase
+   ImageMagickBase
+
+See the source code for how to easily implement new `MovieWriter`
+classes.
+
+
+Inheritance Diagrams
+====================
+
+.. inheritance-diagram:: matplotlib.animation.FuncAnimation matplotlib.animation.ArtistAnimation
+   :private-bases:
+
+.. inheritance-diagram:: matplotlib.animation.AVConvFileWriter matplotlib.animation.AVConvWriter matplotlib.animation.FFMpegFileWriter matplotlib.animation.FFMpegWriter matplotlib.animation.ImageMagickFileWriter matplotlib.animation.ImageMagickWriter
+   :private-bases:
+
+
+
+Deprecated
+==========
+
+
+.. autosummary::
+   :toctree: _as_gen
+   :nosignatures:
+
+   MencoderBase
+   MencoderFileWriter
+   MencoderWriter
diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst
index 357518b..7ec2236 100644
--- a/doc/api/api_changes.rst
+++ b/doc/api/api_changes.rst
@@ -40,6 +40,12 @@ CocoaAgg backend removed
 ~~~~~~~~~~~~~~~~~~~~~~~~
 The deprecated and not fully functional CocoaAgg backend has been removed.
 
+`round` removed from TkAgg Backend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The TkAgg backend had its own implementation of the `round` function. This
+was unused internally and has been removed. Instead, use either the
+`round` builtin function or `numpy.round`.
+
 'hold' functionality deprecated
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 The 'hold' keyword argument and all functions and methods related
@@ -135,6 +141,19 @@ the kwarg is None which internally sets it to the 'auto' string,
 triggering a new algorithm for adjusting the maximum according
 to the axis length relative to the ticklabel font size.
 
+`matplotlib.ticker.LogFormatter`: two new kwargs
+------------------------------------------------
+
+Previously, minor ticks on log-scaled axes were not labeled by
+default.  An algorithm has been added to the
+`~matplotlib.ticker.LogFormatter` to control the labeling of
+ticks between integer powers of the base.  The algorithm uses
+two parameters supplied in a kwarg tuple named 'minor_thresholds'.
+See the docstring for further explanation.
+
+To improve support for axes using `~matplotlib.ticker.SymmetricLogLocator`,
+a 'linthresh' kwarg was added.
+
 
 New defaults for 3D quiver function in mpl_toolkits.mplot3d.axes3d.py
 ---------------------------------------------------------------------
diff --git a/doc/api/api_changes/2016-12-09-AL_afm.rst b/doc/api/api_changes/2016-12-09-AL_afm.rst
new file mode 100644
index 0000000..0df780a
--- /dev/null
+++ b/doc/api/api_changes/2016-12-09-AL_afm.rst
@@ -0,0 +1,7 @@
+`afm.get_fontconfig_fonts` returns a list of paths and does not check for existence
+```````````````````````````````````````````````````````````````````````````````````
+
+`afm.get_fontconfig_fonts` used to return a set of paths encoded as a
+``{key: 1, ...}`` dict, and checked for the existence of the paths.  It now
+returns a list and dropped the existence check, as the same check is performed
+by the caller (`afm.findSystemFonts`) as well.
diff --git a/doc/conf.py b/doc/conf.py
index d9619d1..849ac11 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -241,9 +241,6 @@ html_favicon = '_static/favicon.ico'
 # The paper size ('letter' or 'a4').
 latex_paper_size = 'letter'
 
-# The font size ('10pt', '11pt' or '12pt').
-latex_font_size = '11pt'
-
 # Grouping the document tree into LaTeX files. List of tuples
 # (source start file, target name, title, author, document class [howto/manual]).
 
@@ -258,8 +255,9 @@ latex_documents = [
 # the title page.
 latex_logo = None
 
+latex_elements = {}
 # Additional stuff for the LaTeX preamble.
-latex_preamble = r"""
+latex_elements['preamble'] = r"""
    % In the parameters section, place a newline after the Parameters
    % header.  (This is stolen directly from Numpy's conf.py, since it
    % affects Numpy-style docstrings).
@@ -279,6 +277,7 @@ latex_preamble = r"""
    \usepackage{enumitem}
    \setlistdepth{2048}
 """
+latex_elements['pointsize'] = '11pt'
 
 # Documents to append as an appendix to all manuals.
 latex_appendices = []
@@ -286,7 +285,10 @@ latex_appendices = []
 # If false, no module index is generated.
 latex_use_modindex = True
 
-latex_use_parts = True
+if hasattr(sphinx, 'version_info') and sphinx.version_info[:2] >= (1, 4):
+    latex_toplevel_sectioning = 'part'
+else:
+    latex_use_parts = True
 
 # Show both class-level docstring and __init__ docstring in class
 # documentation
diff --git a/doc/faq/howto_faq.rst b/doc/faq/howto_faq.rst
index ab548d9..4e7ea7f 100644
--- a/doc/faq/howto_faq.rst
+++ b/doc/faq/howto_faq.rst
@@ -596,8 +596,7 @@ matplotlib is documented using the `sphinx
 extensible python framework for documentation projects which generates
 HTML and PDF, and is pretty easy to write; you can see the source for this
 document or any page on this site by clicking on the *Show Source* link
-at the end of the page in the sidebar (or `here
-<../_sources/faq/howto_faq.txt>`_ for this document).
+at the end of the page in the sidebar.
 
 The sphinx website is a good resource for learning sphinx, but we have
 put together a cheat-sheet at :ref:`documenting-matplotlib` which
diff --git a/doc/mpl_toolkits/axes_grid/figures/simple_axisartist1.py b/doc/mpl_toolkits/axes_grid/figures/simple_axisartist1.py
index 6093ea2..d9a8a69 100644
--- a/doc/mpl_toolkits/axes_grid/figures/simple_axisartist1.py
+++ b/doc/mpl_toolkits/axes_grid/figures/simple_axisartist1.py
@@ -10,7 +10,7 @@ fig.add_subplot(ax)
 ax.axis["bottom", "top", "right"].set_visible(False)
 
 # make an new axis along the first axis axis (x-axis) which pass
-# throught y=0.
+# through y=0.
 ax.axis["y=0"] = ax.new_floating_axis(nth_coord=0, value=0,
                                       axis_direction="bottom")
 ax.axis["y=0"].toggle(all=True)
diff --git a/doc/mpl_toolkits/axes_grid/figures/simple_axisline2.py b/doc/mpl_toolkits/axes_grid/figures/simple_axisline2.py
index 5440aec..9aa59dd 100644
--- a/doc/mpl_toolkits/axes_grid/figures/simple_axisline2.py
+++ b/doc/mpl_toolkits/axes_grid/figures/simple_axisline2.py
@@ -4,7 +4,7 @@ import numpy as np
 
 fig = plt.figure(1, (4,3))
 
-# a subplot with two additiona axis, "xzero" and "yzero". "xzero" is
+# a subplot with two additional axis, "xzero" and "yzero". "xzero" is
 # y=0 line, and "yzero" is x=0 line.
 ax = SubplotZero(fig, 1, 1, 1)
 fig.add_subplot(ax)
diff --git a/doc/users/dflt_style_changes.rst b/doc/users/dflt_style_changes.rst
index 6e08fa4..125a958 100644
--- a/doc/users/dflt_style_changes.rst
+++ b/doc/users/dflt_style_changes.rst
@@ -426,13 +426,14 @@ obscuring data too much.
     fig, (old, new) = plt.subplots(ncols=2, sharey=True)
     with plt.style.context('default'):
         new.boxplot(data, labels=['A', 'B', 'C', 'D'])
-        new.set_title('New boxplots')
+        new.set_title('v2.0')
 
     with plt.style.context('classic'):
         old.boxplot(data, labels=['A', 'B', 'C', 'D'])
-        old.set_title('Old boxplots')
+        old.set_title('classic')
 
-    new.set_ylim(bottom=0)
+    new.set_yscale('log')
+    old.set_yscale('log')
 
 The previous defaults can be restored by setting::
 
@@ -551,7 +552,7 @@ default.  The default face color is now ``'C0'`` instead of ``'b'``.
 The previous defaults can be restored by setting::
 
     mpl.rcParams['patch.force_edgecolor'] = True
-    mpl.rcParams['patch.facecolor'] = True
+    mpl.rcParams['patch.facecolor'] = 'b'
 
 or by setting::
 
@@ -968,6 +969,11 @@ or create a new `~matplotlib.ticker.MaxNLocator`::
   import matplotlib.ticker as mticker
   ax.set_major_locator(mticker.MaxNLocator(nbins=9, steps=[1, 2, 5, 10])
 
+The algorithm used by `~matplotlib.ticker.MaxNLocator` has been
+improved, and this may change the choice of tick locations in some
+cases.  This also affects `~matplotlib.ticker.AutoLocator`, which
+uses ``MaxNLocator`` internally.
+
 For a log-scaled axis the default locator is the
 `~matplotlib.ticker.LogLocator`.  Previously the maximum number
 of ticks was set to 15, and could not be changed. Now there is a
@@ -1042,6 +1048,15 @@ Z-order
   ``rcParams['axes.axisbelow'] = False``.
 
 
+``LogFormatter`` labeling of minor ticks
+========================================
+
+Minor ticks on a log axis are now labeled when the axis view limits
+span a range less than or equal to the interval between two major
+ticks.  See `~matplotlib.ticker.LogFormatter` for details. The
+minor tick labeling is turned off when using ``mpl.style.use('classic')``,
+but cannot be controlled independently via ``rcParams``.
+
 
 ``ScalarFormatter`` tick label formatting with offsets
 ======================================================
@@ -1123,10 +1138,3 @@ mplot3d
   - grid.color
   - grid.linewidth
   - grid.linestyle
-
-
-
-TEMPORARY NOTES TOM IS KEEPING IN THE SOURCE SO THEY DO NOT GET LOST
-====================================================================
-
-- lines.color change, only hits raw usage of Line2D
diff --git a/doc/users/github_stats.rst b/doc/users/github_stats.rst
index bfbaf21..a6c6811 100644
--- a/doc/users/github_stats.rst
+++ b/doc/users/github_stats.rst
@@ -1,15 +1,15 @@
 .. _github-stats:
 
-Github Stats
+GitHub Stats
 ============
 
-GitHub stats for 2015/10/29 - 2016/12/04 (tag: v1.5.0)
+GitHub stats for 2015/10/29 - 2016/12/18 (tag: v1.5.0)
 
 These lists are automatically generated, and may be incomplete or contain duplicates.
 
-We closed 776 issues and merged 638 pull requests.
+We closed 809 issues and merged 655 pull requests.
 
-The following 211 authors contributed 2839 commits.
+The following 219 authors contributed 3010 commits.
 
 * 4over7
 * AbdealiJK
@@ -19,7 +19,10 @@ The following 211 authors contributed 2839 commits.
 * Alberto
 * alcinos
 * Alex Rothberg
+* Alexis Bienvenüe
 * Ali Uneri
+* Alvaro Sanchez
+* alvarosg
 * AndersonDaniel
 * Andreas Hilboll
 * Andreas Mayer
@@ -39,6 +42,7 @@ The following 211 authors contributed 2839 commits.
 * Chen Karako
 * Chris Holdgraf
 * Christian Stade-Schuldt
+* Christoph Deil
 * Christoph Gohlke
 * Cimarron Mittelsteadt
 * CJ Carey
@@ -46,6 +50,8 @@ The following 211 authors contributed 2839 commits.
 * DaCoEx
 * Dan Hickstein
 * Daniel C. Marcu
+* danielballan
+* Danny Hermes
 * David A
 * David Kent
 * David Stansby
@@ -104,6 +110,7 @@ The following 211 authors contributed 2839 commits.
 * Jeffrey Hokanson @ Loki
 * Jens Hedegaard Nielsen
 * John Vandenberg
+* JojoBoulix
 * jonchar
 * Joseph Fox-Rabinovitz
 * Joseph Jon Booker
@@ -143,6 +150,7 @@ The following 211 authors contributed 2839 commits.
 * Mher Kazandjian
 * Michael Droettboom
 * Michiel de Hoon
+* Mike Henninger
 * Mike Jarvis
 * MinRK
 * mlub
@@ -224,19 +232,36 @@ The following 211 authors contributed 2839 commits.
 
 GitHub issues and pull requests:
 
-Pull Requests (638):
+Pull Requests (655):
 
+* :ghpull:`7585`: [MRG+1] Fix a bug in TextBox where shortcut keys were not being reenabled
+* :ghpull:`7628`: picker may not be callable.
+* :ghpull:`7464`: ENH: _StringFuncParser to get numerical functions callables from strings
+* :ghpull:`7622`: Mrg animation merge
+* :ghpull:`7618`: DOC: fixed typo in mlab.py
+* :ghpull:`7596`: Delay fc-list warning by 5s.
+* :ghpull:`7607`: TST: regenerate patheffect2
+* :ghpull:`7608`: Don't call np.min on generator.
+* :ghpull:`7570`: Correctly skip colors for nan points given to scatter
+* :ghpull:`7605`: Make bars stick to explicitly-specified edges.
+* :ghpull:`6597`: Reproducible PS/PDF output (master)
+* :ghpull:`7546`: Deprecate update_datalim_numerix&update_from_data.
+* :ghpull:`7574`: Docs edits
+* :ghpull:`7538`: Don't work out packages to install if user requests information from setup.p
+* :ghpull:`7577`: Spelling fix: corosponding -> corresponding
+* :ghpull:`7536`: Rectangle patch angle attribute and patch __str__ improvements
+* :ghpull:`7547`: Additional cleanups
 * :ghpull:`7544`: Cleanups
 * :ghpull:`7548`: Clarify to_rgba docstring.
 * :ghpull:`7476`: Sticky margins
 * :ghpull:`7552`: Correctly extend a lognormed colorbar
-* :ghpull:`7499`: [MRG] Improve the the marker table in markers_api documentation
+* :ghpull:`7499`: Improve the the marker table in markers_api documentation
 * :ghpull:`7468`: TST: Enable pytest-xdist
 * :ghpull:`7530`: MAINT: TkAgg default backend depends on tkinter
 * :ghpull:`7531`: double tolerance for test_png.py/pngsuite on Windows
 * :ghpull:`7533`: FIX chinese character are hard to deal with in latex
 * :ghpull:`7525`: Avoid division by zero if headlength=0 for quiver
-* :ghpull:`7522`: [MRG+1] Check at least one argument is provided for plt.table
+* :ghpull:`7522`: Check at least one argument is provided for plt.table
 * :ghpull:`7520`: Fix table.py bug
 * :ghpull:`7397`: Numpydoc for backends
 * :ghpull:`7513`: Doc: Typo in gridspec example subtitle
@@ -282,11 +307,11 @@ Pull Requests (638):
 * :ghpull:`7386`: ENH examples are now reproducible
 * :ghpull:`7395`: Drop code that supports numpy pre-1.6.
 * :ghpull:`7385`: [MRG+1] remove unused random import
-* :ghpull:`7236`: [MRG+1] ENH Improving the contribution guidelines
+* :ghpull:`7236`: ENH Improving the contribution guidelines
 * :ghpull:`7370`: [MRG+1] Add example use of axes.spines.SIDE prop in matplotlibrc
-* :ghpull:`7367`: [MRG+1] Warn on invalid log axis limits, per issue #7299
+* :ghpull:`7367`: Warn on invalid log axis limits, per issue #7299
 * :ghpull:`7360`: Updated violin plot example as per suggestions in issue #7251
-* :ghpull:`7357`: [mrg+1] Added notes on how to use matplotlib in pyenv
+* :ghpull:`7357`: Added notes on how to use matplotlib in pyenv
 * :ghpull:`7329`: DOC MEP12 - converted animation to SG/MEP12 compatible
 * :ghpull:`7337`: FIX symlog scale now shows negative labels.
 * :ghpull:`7354`: fix small error in poly_editor example
@@ -315,12 +340,12 @@ Pull Requests (638):
 * :ghpull:`7298`: Changed Examples for Pep8 Compliance
 * :ghpull:`7295`: MAINT finance module is deprecated
 * :ghpull:`7214`: FIX: Only render single patch for scatter
-* :ghpull:`7297`: [MRG] MAINT docstring appending doesn't mess with rendering anymore.
-* :ghpull:`6907`: [MRG+1] Filled + and x markers
+* :ghpull:`7297`: MAINT docstring appending doesn't mess with rendering anymore.
+* :ghpull:`6907`: Filled + and x markers
 * :ghpull:`7288`: Style typos fixes
 * :ghpull:`7277`: MEP12 - added sphinx-gallery docstrings
 * :ghpull:`7286`: DOC: Fix for #7283 by adding a trailing underscore to misrendered URLs
-* :ghpull:`7285`: [MRG+1] added some fixes to the documentation of the functions
+* :ghpull:`7285`: added some fixes to the documentation of the functions
 * :ghpull:`6690`: Tidying up and tweaking mplot3d examples [MEP12]
 * :ghpull:`7273`: Fix image watermark example where image was hidden by axes (#7265)
 * :ghpull:`7276`: FIX: don't compute flier positions if not showing
@@ -332,7 +357,7 @@ Pull Requests (638):
 * :ghpull:`7256`: CI: skip failing test on appveyor
 * :ghpull:`7255`: CI: pin to qt4
 * :ghpull:`7229`: DOC: instructions on installing matplotlib for dev
-* :ghpull:`7252`: [MRG+2] ENH: improve PySide2 loading
+* :ghpull:`7252`: ENH: improve PySide2 loading
 * :ghpull:`7245`: TST: Always produce image comparison test result images
 * :ghpull:`6677`: Remove a copy in pcolormesh.
 * :ghpull:`6814`: Customize violin plot demo, see #6723
@@ -359,12 +384,12 @@ Pull Requests (638):
 * :ghpull:`7019`: Check for fontproperties in figure.suptitle.
 * :ghpull:`7145`: Add ``style`` to api doc; fix capitalization.
 * :ghpull:`7097`: ``image_comparison`` decorator refactor
-* :ghpull:`7096`: [MRG] DOC refer to plot in the scatter plot doc
+* :ghpull:`7096`: DOC refer to plot in the scatter plot doc
 * :ghpull:`7140`: FIX added matplotlib.testing.nose.plugins to setupext.py
 * :ghpull:`5112`: OffsetImage: use dpi_cor in get_extent
 * :ghpull:`7136`: DOC: minor fix  in development_workflow.rst
 * :ghpull:`7137`: DOC: improve engineering formatter example
-* :ghpull:`7131`: Fix branch name in "Deleting a branch on GitHub\_" section
+* :ghpull:`7131`: Fix branch name in "Deleting a branch on GitHub" section
 * :ghpull:`6521`: Issue #6429 fix
 * :ghpull:`7111`: [DOC] Fix example following comments in  issue #6865
 * :ghpull:`7118`: PR # 7038 rebased (DOC specgram() documentation now in numpy style)
@@ -383,7 +408,7 @@ Pull Requests (638):
 * :ghpull:`7077`: label_outer() should remove inner minor ticks too.
 * :ghpull:`7037`: DOC change axhspan to numpydoc format
 * :ghpull:`7047`: DOC - SpanSelector widget documentation
-* :ghpull:`7049`: [MRG] Documentated dependencies to the doc and remove unecessary dependencies.
+* :ghpull:`7049`: Documentated dependencies to the doc and remove unecessary dependencies.
 * :ghpull:`7063`: Tweek tol for test_hist_steplog to fix tests on appveyor
 * :ghpull:`7055`: FIX: testings.nose was not installed
 * :ghpull:`7058`: Minor animation fixes
@@ -546,7 +571,7 @@ Pull Requests (638):
 * :ghpull:`6472`: Install all dependencies from pypi
 * :ghpull:`6482`: Skip test broken with numpy 1.11
 * :ghpull:`6475`: Do not turn on interactive mode on in example script
-* :ghpull:`6442`: MRG: loading TCL / Tk symbols dynamically
+* :ghpull:`6442`: loading TCL / Tk symbols dynamically
 * :ghpull:`6467`: ENH: add unified seaborn style sheet
 * :ghpull:`6465`: updated boxplot figure
 * :ghpull:`6462`: CI: Use Miniconda already installed on AppVeyor.
@@ -865,8 +890,42 @@ Pull Requests (638):
 * :ghpull:`5357`: Fixed typo
 * :ghpull:`4920`: ENH: Add TransformedPatchPath for clipping.
 
-Issues (776):
+Issues (809):
 
+* :ghissue:`7637`: Stacked 2D plots with interconnections in Matplotlib
+* :ghissue:`7353`: auto legend position changes upon saving the figure
+* :ghissue:`7626`: Saturation mask for imshow()
+* :ghissue:`7623`: potential bug with plt.arrow and plt.annotate when setting linestyle via tuples
+* :ghissue:`7005`: rcParams['font.size'] is consulted at render time
+* :ghissue:`7587`: BUG: shared log axes lose _minpos and revert to default
+* :ghissue:`7493`: Plotting zero values with logarithmic axes triggers OverflowError, Matplotlib hangs permanently
+* :ghissue:`7595`: math domain error using symlog norm
+* :ghissue:`7588`: 2.0.0rc1  cannot import name '_macosx'
+* :ghissue:`2051`: Consider making default verticalalignment ``baseline``
+* :ghissue:`4867`: Add additional minor labels in log axis with a span less than two decades
+* :ghissue:`7489`: Too small axis arrow when savefig to png
+* :ghissue:`7611`: UnicodeDecodeError when using matplotlib save SVG file and open it again
+* :ghissue:`7592`: font cache: a possibility to disable building it
+* :ghissue:`5836`: Repeated warning about fc-list
+* :ghissue:`7609`: The best channel to ask questions related to using matplotlib
+* :ghissue:`7141`: Feature request: auto locate minor ticks on log scaled color bar
+* :ghissue:`3489`: matplotlib scatter shifts color codes when NaN is present
+* :ghissue:`4414`: Specifying histtype='stepfilled' and normed=True when using plt.hist causes ymax to be set incorrectly
+* :ghissue:`7597`: python  complain about "This application failed to start because it could not find or load the Qt platform plugin  'xcb' "  after an update of matplotlib
+* :ghissue:`7578`: Validate steps input to ``MaxNLocator``
+* :ghissue:`7590`: Subtick labels are not disabled in classic style
+* :ghissue:`6317`: PDF file generation is not deterministic - results in different outputs on the same input
+* :ghissue:`6543`: Why does fill_betweenx  not  have interpolate?
+* :ghissue:`7437`: Broken path to example with strpdate2num
+* :ghissue:`7593`: Issue: Applying Axis Limits
+* :ghissue:`7591`: Number of subplots in mpl.axes.Subplot object
+* :ghissue:`7056`: setup.py --name and friends broken
+* :ghissue:`7044`: location of convert in rcparams on windows
+* :ghissue:`6813`: avoid hiding edge pixels of images
+* :ghissue:`7579`: OS X libpng incompatability
+* :ghissue:`7576`: v2.0.0rc1 conda-forge dependency issue
+* :ghissue:`7558`: Colorbar becomes 0 to 1 after colorbar ax.yaxis.set_major_formatter
+* :ghissue:`7526`: Cannot Disable TkAgg Backend
 * :ghissue:`6565`: Questionable margin-cancellation logic
 * :ghissue:`7175`: new margin system doesn't handle negative values in bars
 * :ghissue:`5201`: issue with colorbar using LogNorm and extend='min'
@@ -898,8 +957,8 @@ Issues (776):
 * :ghissue:`7478`: 'alpha' kwarg overrides facecolor='none' when plotting circle
 * :ghissue:`7375`: Patch edgecolor of a legend item does not follow look of figure
 * :ghissue:`6873`: examples/api/skewt.py is not displaying the right part of the grid by default
-* :ghissue:`7350`: Colors drawn outside axis for hist2d
 * :ghissue:`6773`: Shifted image extents in 2.0.0.b3
+* :ghissue:`7350`: Colors drawn outside axis for hist2d
 * :ghissue:`7485`: Is there a way to subclass the zoom() function from the NavigationToolbar backends and modify its mouse button definition?
 * :ghissue:`7396`: Bump numpy minimal version to 1.7.0?
 * :ghissue:`7466`: missing trigger for autoscale
@@ -910,7 +969,6 @@ Issues (776):
 * :ghissue:`5076`: RuntimeError: LaTeX was not able to process the following string: 'z=$\\\\mathregular{{}^{}_{\\\\}}$' in matplotlib
 * :ghissue:`7450`: Using Matplotlib in Abaqus
 * :ghissue:`7314`: Better error message in scatter plot when len(x) != len(c)
-* :ghissue:`7341`: slightly imprecise tick positioning
 * :ghissue:`7432`: Failure to re-render after Line2D.set_color
 * :ghissue:`6695`: support markdown or similar
 * :ghissue:`6228`: Rasterizing patch changes filling of hatches in pdf backend
@@ -944,9 +1002,9 @@ Issues (776):
 * :ghissue:`7391`: How to apply ax.margins to current axes limits?
 * :ghissue:`7234`: Improving documentation: Tests failing on a osx setup
 * :ghissue:`7379`: Mp4's generated by movie writer do not appear work in browser
-* :ghissue:`6926`: SVG backend closes BytesIO on print if were ``usetex=True`` and ``cleanup`` decorator used
 * :ghissue:`6870`: Figure is unpicklable after ``savefig``
 * :ghissue:`6181`: When using Agg driver, pickling fails with TypeError after writing figure to PDF
+* :ghissue:`6926`: SVG backend closes BytesIO on print if were ``usetex=True`` and ``cleanup`` decorator used
 * :ghissue:`3899`: Pickle not working in interactive ipython session
 * :ghissue:`7251`: Improve violin plot demo
 * :ghissue:`7146`: symlog scale no longer shows labels on the negative side
@@ -1042,8 +1100,8 @@ Issues (776):
 * :ghissue:`3645`: Proposal: Add rc setting to control dash spacing
 * :ghissue:`7009`: No good way to disable SpanSelector
 * :ghissue:`7040`: It is getting increasingly difficult to build the matplotlib documentation
-* :ghissue:`6965`: ArtistAnimation cannot animate Figure-only artists
 * :ghissue:`6964`: Docstring for ArtistAnimation is incorrect
+* :ghissue:`6965`: ArtistAnimation cannot animate Figure-only artists
 * :ghissue:`7062`: remove the contour on a Basemap object
 * :ghissue:`7061`: remove the contour on Basemap
 * :ghissue:`7054`: Whether the new version 2.0 will support high-definition screen?
diff --git a/doc/users/plotting/examples/custom_boxstyle02.py b/doc/users/plotting/examples/custom_boxstyle02.py
index 96933cb..bd6616c 100644
--- a/doc/users/plotting/examples/custom_boxstyle02.py
+++ b/doc/users/plotting/examples/custom_boxstyle02.py
@@ -3,7 +3,7 @@ from matplotlib.patches import BoxStyle
 import matplotlib.pyplot as plt
 
 # we may derive from matplotlib.patches.BoxStyle._Base class.
-# You need to overide transmute method in this case.
+# You need to override transmute method in this case.
 
 class MyStyle(BoxStyle._Base):
     """
diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst
index 62ee469..2f4a04f 100644
--- a/doc/users/whats_new.rst
+++ b/doc/users/whats_new.rst
@@ -53,7 +53,7 @@ New rcparams added
 +---------------------------------+--------------------------------------------------+
 | Parameter                       | Description                                      |
 +=================================+==================================================+
-|`date.autoformatter.year`        | foramt string for 'year' scale dates             |
+|`date.autoformatter.year`        | format string for 'year' scale dates             |
 +---------------------------------+--------------------------------------------------+
 |`date.autoformatter.month`       | format string for 'month' scale dates            |
 +---------------------------------+--------------------------------------------------+
@@ -73,7 +73,7 @@ New rcparams added
 +---------------------------------+--------------------------------------------------+
 |`xtick.top`, `xtick.minor.top`,  | Control where major and minor ticks are drawn.   |
 |`xtick.major.top`                | The global values are `and` ed with the          |
-|`xtick.bottom`,                  | corosponding major/minor values.                 |
+|`xtick.bottom`,                  | corresponding major/minor values.                |
 |`xtick.minor.bottom`,            |                                                  |
 |`xtick.major.bottom`             |                                                  |
 |`ytick.left`, `ytick.minor.left`,|                                                  |
diff --git a/doc/users/whats_new/plot_surface.rst b/doc/users/whats_new/plot_surface.rst
new file mode 100644
index 0000000..6926e73
--- /dev/null
+++ b/doc/users/whats_new/plot_surface.rst
@@ -0,0 +1,15 @@
+`rcount` and `ccount` for `plot_surface()`
+------------------------------------------
+
+As of v2.0, mplot3d's :func:`~mpl_toolkits.mplot3d.axes3d.plot_surface` now
+accepts `rcount` and `ccount` arguments for controlling the sampling of the
+input data for plotting. These arguments specify the maximum number of
+evenly spaced samples to take from the input data. These arguments are
+also the new default sampling method for the function, and is
+considered a style change.
+
+The old `rstride` and `cstride` arguments, which specified the size of the
+evenly spaced samples, become the default when 'classic' mode is invoked,
+and are still available for use. There are no plans for deprecating these
+arguments.
+
diff --git a/examples/api/barchart_demo.py b/examples/api/barchart_demo.py
... 3762 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/matplotlib.git



More information about the Python-modules-commits mailing list