Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 23 additions & 24 deletions doc/api/prev_api_changes/api_changes_2.0.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ GTK and GDK backends deprecated
The GDK and GTK backends have been deprecated. These obsolete backends
allow figures to be rendered via the GDK API to files and GTK2 figures.
They are untested and known to be broken, and their use has been
discouraged for some time. Instead, use the `GTKAgg` and `GTKCairo`
discouraged for some time. Instead, use the ``GTKAgg`` and ``GTKCairo``
backends for rendering to GTK2 windows.

WX backend deprecated
~~~~~~~~~~~~~~~~~~~~~
The WX backend has been deprecated. It is untested, and its
use has been discouraged for some time. Instead, use the `WXAgg`
use has been discouraged for some time. Instead, use the ``WXAgg``
backend for rendering figures to WX windows.

CocoaAgg backend removed
Expand All @@ -39,36 +39,35 @@ was unused internally and has been removed. Instead, use either the
'hold' functionality deprecated
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'hold' keyword argument and all functions and methods related
to it are deprecated, along with the 'axes.hold' `rcParams` entry.
to it are deprecated, along with the ``axes.hold`` rcParams entry.
The behavior will remain consistent with the default ``hold=True``
state that has long been in place. Instead of using a function
or keyword argument (``hold=False``) to change that behavior,
explicitly clear the axes or figure as needed prior to subsequent
plotting commands.


`Artist.update` has return value
--------------------------------
`.Artist.update` has return value
---------------------------------

The methods `matplotlib.artist.Artist.set`,
`matplotlib.Artist.update`, and the function `matplotlib.artist.setp`
now use a common codepath to look up how to update the given artist
properties (either using the setter methods or an attribute/property).
The methods `matplotlib.artist.Artist.set`, `matplotlib.artist.Artist.update`,
and the function `matplotlib.artist.setp` now use a common codepath to look up
how to update the given artist properties (either using the setter methods or
an attribute/property).

The behavior of `matplotlib.Artist.update` is slightly changed to
return a list of the values returned from the setter methods to avoid
changing the API of `matplotlib.Artist.set` and
`matplotlib.artist.setp`.
The behavior of `matplotlib.artist.Artist.update` is slightly changed to return
a list of the values returned from the setter methods to avoid changing the API
of `matplotlib.artist.Artist.set` and `matplotlib.artist.setp`.

The keys passed into `matplotlib.Artist.update` are now converted to
The keys passed into `matplotlib.artist.Artist.update` are now converted to
lower case before being processed, to match the behavior of
`matplotlib.Artist.set` and `matplotlib.artist.setp`. This should not
`matplotlib.artist.Artist.set` and `matplotlib.artist.setp`. This should not
break any user code because there are no set methods with capitals in
their names, but this puts a constraint on naming properties in the future.


`Legend` initializers gain edgecolor and facecolor kwargs
---------------------------------------------------------
`.Legend` initializers gain *edgecolor* and *facecolor* keyword arguments
-------------------------------------------------------------------------

The :class:`~matplotlib.legend.Legend` background patch (or 'frame')
can have its ``edgecolor`` and ``facecolor`` determined by the
Expand All @@ -85,7 +84,7 @@ Qualitative colormaps

Colorbrewer's qualitative/discrete colormaps ("Accent", "Dark2", "Paired",
"Pastel1", "Pastel2", "Set1", "Set2", "Set3") are now implemented as
``ListedColormap`` instead of ``LinearSegmentedColormap``.
`.ListedColormap` instead of `.LinearSegmentedColormap`.

To use these for images where categories are specified as integers, for
instance, use::
Expand All @@ -104,10 +103,10 @@ See the ``draw_image`` docstring for more information.



`matplotlib.ticker.LinearLocator` algorithm update
--------------------------------------------------
``matplotlib.ticker.LinearLocator`` algorithm update
----------------------------------------------------

The ``matplotlib.ticker.LinearLocator`` is used to define the range and
The `matplotlib.ticker.LinearLocator` is used to define the range and
location of axis ticks when the user wants an exact number of ticks.
``LinearLocator`` thus differs from the default locator ``MaxNLocator``,
for which the user specifies a maximum number of intervals rather than
Expand Down Expand Up @@ -141,8 +140,8 @@ 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.
To improve support for axes using `~matplotlib.ticker.SymmetricalLogLocator`,
a *linthresh* keyword argument was added.


New defaults for 3D quiver function in mpl_toolkits.mplot3d.axes3d.py
Expand Down Expand Up @@ -197,7 +196,7 @@ Default install no longer includes test images
To reduce the size of wheels and source installs, the tests and
baseline images are no longer included by default.

To restore installing the tests and images, use a `setup.cfg` with ::
To restore installing the tests and images, use a :file:`setup.cfg` with ::

[packages]
tests = True
Expand Down
20 changes: 10 additions & 10 deletions doc/api/prev_api_changes/api_changes_2.0.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,22 @@ required that third-party backends extend
these changes easier.


`afm.get_fontconfig_fonts` returns a list of paths and does not check for existence
-----------------------------------------------------------------------------------
``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
``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.
by the caller (``afm.findSystemFonts``) as well.


`bar` now returns rectangles of negative height or width if the corresponding input is negative
-----------------------------------------------------------------------------------------------
``bar`` now returns rectangles of negative height or width if the corresponding input is negative
-------------------------------------------------------------------------------------------------

`plt.bar` used to normalize the coordinates of the rectangles that it created,
to keep their height and width positives, even if the corresponding input was
negative. This normalization has been removed to permit a simpler computation
of the correct `sticky_edges` to use.
`.pyplot.bar` used to normalize the coordinates of the rectangles that it
created, to keep their height and width positives, even if the corresponding
input was negative. This normalization has been removed to permit a simpler
computation of the correct `.Artist.sticky_edges` to use.


Do not clip line width when scaling dashes
Expand Down
43 changes: 22 additions & 21 deletions doc/api/prev_api_changes/api_changes_2.1.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ A function which take and ``Exception`` as its only argument may also be passed
Improved toggling of the axes grids
-----------------------------------

The `g` key binding now switches the states of the `x` and `y` grids
The ``g`` key binding now switches the states of the ``x`` and ``y`` grids
independently (by cycling through all four on/off combinations).

The new `G` key binding switches the states of the minor grids.
The new ``G`` key binding switches the states of the minor grids.

Both bindings are disabled if only a subset of the grid lines (in either
direction) is visible, to avoid making irreversible changes to the figure.
Expand All @@ -62,7 +62,7 @@ direction) is visible, to avoid making irreversible changes to the figure.
Ticklabels are turned off instead of being invisible
----------------------------------------------------

Internally, the `Tick`'s :func:`~matplotlib.axis.Tick.label1On` attribute
Internally, the `.Tick`'s ``~matplotlib.axis.Tick.label1On`` attribute
is now used to hide tick labels instead of setting the visibility on the tick
label objects.
This improves overall performance and fixes some issues.
Expand All @@ -78,15 +78,15 @@ needs to be used, e.g.
Removal of warning on empty legends
-----------------------------------

``plt.legend`` used to issue a warning when no labeled artist could be
`.pyplot.legend` used to issue a warning when no labeled artist could be
found. This warning has been removed.


More accurate legend autopositioning
------------------------------------

Automatic positioning of legends now prefers using the area surrounded
by a `Line2D` rather than placing the legend over the line itself.
by a `.Line2D` rather than placing the legend over the line itself.


Cleanup of stock sample data
Expand All @@ -100,8 +100,9 @@ the ``msft.csv`` that continues to be shipped in the sample data. If a NumPy
binary file is acceptable, we suggest using one of the following two new files.
The ``aapl.npy.gz`` and ``goog.npy`` files have been replaced by ``aapl.npz``
and ``goog.npz``, wherein the first column's type has changed from
`datetime.date` to `np.datetime64` for better portability across Python
versions. Note that Matplotlib does not fully support `np.datetime64` as yet.
`datetime.date` to `numpy.datetime64` for better portability across Python
versions. Note that Matplotlib does not fully support `numpy.datetime64` as
yet.


Updated qhull to 2015.2
Expand All @@ -120,7 +121,7 @@ using Matplotlib, i.e. any use of `matplotlib.tri.Triangulation` that
requests that a Delaunay triangulation is calculated, which includes
`matplotlib.pyplot.tricontour`, `matplotlib.pyplot.tricontourf`,
`matplotlib.pyplot.tripcolor`, `matplotlib.pyplot.triplot`,
`matplotlib.mlab.griddata` and
``matplotlib.mlab.griddata`` and
`mpl_toolkits.mplot3d.axes3d.Axes3D.plot_trisurf`.


Expand All @@ -135,7 +136,7 @@ It's better maintained and more widely used (by pylint, jaraco, etc).
``cbook.is_numlike`` only performs an instance check
----------------------------------------------------

:func:`~matplotlib.cbook.is_numlike` now only checks that its argument
``matplotlib.cbook.is_numlike`` now only checks that its argument
is an instance of ``(numbers.Number, np.Number)``. In particular,
this means that arrays are now not num-like.

Expand Down Expand Up @@ -195,14 +196,14 @@ will be removed in 2.2



Correct scaling of :func:`magnitude_spectrum()`
-----------------------------------------------
Correct scaling of ``magnitude_spectrum()``
-------------------------------------------

The functions :func:`matplotlib.mlab.magnitude_spectrum()` and :func:`matplotlib.pyplot.magnitude_spectrum()` implicitly assumed the sum
of windowing function values to be one. In Matplotlib and Numpy the
standard windowing functions are scaled to have maximum value of one,
which usually results in a sum of the order of n/2 for a n-point
signal. Thus the amplitude scaling :func:`magnitude_spectrum()` was
signal. Thus the amplitude scaling ``magnitude_spectrum()`` was
off by that amount when using standard windowing functions (`Bug 8417
<https://github.com/matplotlib/matplotlib/issues/8417>`_ ). Now the
behavior is consistent with :func:`matplotlib.pyplot.psd()` and
Expand Down Expand Up @@ -295,13 +296,13 @@ Third-party backends should also migrate to the ``*_dashes`` methods.
``NavigationToolbar2.dynamic_update``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Use :meth:`draw_idle` method on the ``Canvas`` instance instead.
Use :meth:`.draw_idle` method on the ``Canvas`` instance instead.


Testing
~~~~~~~

`matplotlib.testing.noseclasses` is deprecated and will be removed in 2.3
``matplotlib.testing.noseclasses`` is deprecated and will be removed in 2.3


``EngFormatter`` *num* arg as string
Expand All @@ -314,9 +315,9 @@ Passing a string as *num* argument when calling an instance of
``mpl_toolkits.axes_grid`` module
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

All functionally from `mpl_toolkits.axes_grid` can be found in either
All functionally from ``mpl_toolkits.axes_grid`` can be found in either
`mpl_toolkits.axes_grid1` or `mpl_toolkits.axisartist`. Axes classes
from `mpl_toolkits.axes_grid` based on `Axis` from
from ``mpl_toolkits.axes_grid`` based on ``Axis`` from
`mpl_toolkits.axisartist` can be found in `mpl_toolkits.axisartist`.


Expand Down Expand Up @@ -402,9 +403,9 @@ The deprecated ``matplotlib.rcsetup.validate_maskedarray``,
removed.


The kwarg ``resolution`` of
The keyword argument *resolution* of
:class:`matplotlib.projections.polar.PolarAxes` has been removed. It
has deprecation with no effect from version `0.98.x`.
has deprecation with no effect from version *0.98.x*.


``Axes.set_aspect("normal")``
Expand All @@ -421,8 +422,8 @@ The ``shading`` kwarg to `~matplotlib.axes.Axes.pcolor` has been
removed. Set ``edgecolors`` appropriately instead.


Functions removed from the `lines` module
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Functions removed from the `.lines` module
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The :mod:`matplotlib.lines` module no longer imports the
``pts_to_prestep``, ``pts_to_midstep`` and ``pts_to_poststep``
Expand All @@ -433,7 +434,7 @@ PDF backend functions
~~~~~~~~~~~~~~~~~~~~~

The methods ``embedTeXFont`` and ``tex_font_mapping`` of
:class:`matplotlib.backqend_pdf.PdfFile` have been removed. It is
:class:`matplotlib.backends.backend_pdf.PdfFile` have been removed. It is
unlikely that external users would have called these methods, which
are related to the font system internal to the PDF backend.

Expand Down
10 changes: 5 additions & 5 deletions doc/api/prev_api_changes/api_changes_2.1.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@
API Changes in 2.1.2
====================

`Figure.legend` no longer checks for repeated lines to ignore
-------------------------------------------------------------
`.Figure.legend` no longer checks for repeated lines to ignore
--------------------------------------------------------------

`matplotlib.Figure.legend` used to check if a line had the
`matplotlib.figure.Figure.legend` used to check if a line had the
same label as an existing legend entry. If it also had the same line color
or marker color legend didn't add a new entry for that line. However, the
list of conditions was incomplete, didn't handle RGB tuples,
didn't handle linewidths or linestyles etc.

This logic did not exist in `Axes.legend`. It was included (erroneously)
This logic did not exist in `.axes.Axes.legend`. It was included (erroneously)
in Matplotlib 2.1.1 when the legend argument parsing was unified
[#9324](https://github.com/matplotlib/matplotlib/pull/9324). This change
removes that check in `Axes.legend` again to restore the old behavior.
removes that check in `.axes.Axes.legend` again to restore the old behavior.

This logic has also been dropped from `.Figure.legend`, where it
was previously undocumented. Repeated
Expand Down
Loading