@@ -13,11 +13,304 @@ For new features that were added to Matplotlib, please see
13
13
API Changes in 2.2.0
14
14
====================
15
15
16
- .. toctree ::
17
- :glob:
18
- :maxdepth: 1
16
+ ..
17
+ .. toctree::
18
+ :glob:
19
+ :maxdepth: 1
20
+
21
+ next_api_changes/*
22
+
23
+ MovieWriterRegistry raises RuntimeError when writer not available
24
+ -----------------------------------------------------------------
25
+
26
+ If `MovieWriterRegistry ` can't find the requested `MovieWriter `, a more helpful
27
+ `RuntimeError ` message is now raised instead of the previously raised
28
+ `KeyError `.
29
+
30
+
31
+ Using strings instead of booleans to control grid and tick visibility is deprecated
32
+ -----------------------------------------------------------------------------------
33
+
34
+ Using ``"on" ``, ``"off" ``, ``"true" ``, or ``"false" `` to control grid
35
+ and tick visibility has been deprecated. Instead, use normal booleans
36
+ (``True ``/``False ``) or boolean-likes. In the future, all non-empty strings
37
+ may be interpreted as ``True ``.
38
+
39
+
40
+ Removal of deprecated contouring code
41
+ -------------------------------------
42
+
43
+ Contouring no longer supports ``legacy `` corner masking.
44
+
45
+ The deprecated ``ContourSet.vmin `` and ``ContourSet.vmax `` properties have been
46
+ removed.
47
+
48
+
49
+ Removal of deprecated features
50
+ ------------------------------
51
+
52
+ The ``matplotlib.finance ``, ``mpl_toolkits.exceltools `` and
53
+ ``mpl_toolkits.gtktools `` modules have been removed. ``matplotlib.finance ``
54
+ remains available at https://github.com/matplotlib/mpl_finance.
55
+
56
+ The ``mpl_toolkits.mplot3d.art3d.iscolor `` function has been removed.
57
+
58
+ The ``Axes.get_axis_bgcolor ``, ``Axes.set_axis_bgcolor ``,
59
+ ``Bbox.update_from_data ``, ``Bbox.update_datalim_numerix ``,
60
+ ``MaxNLocator.bin_boundaries `` methods have been removed.
61
+
62
+ The ``bgcolor `` keyword argument to ``Axes `` has been removed.
63
+
64
+ The ``spectral `` colormap has been removed. The ``Vega* `` colormaps, which
65
+ were aliases for the ``tab* `` colormaps, have been removed.
66
+
67
+ ``mencoder `` can no longer be used to encode animations.
68
+
69
+ Passing ``None `` instead of ``"none" `` as format to `~.Axes.errorbar ` is no
70
+ longer supported.
71
+
72
+
73
+ `Figure.set_figwidth ` and `Figure.set_figheight ` default forward to True
74
+ ------------------------------------------------------------------------
75
+
76
+ `matplotlib.Figure.set_figwidth ` and `matplotlib.Figure.set_figheight `
77
+ had the kwarg `forward=False `
78
+ by default, but `Figure.set_size_inches ` now defaults to `forward=True `.
79
+ This makes these functions conistent.
80
+
81
+
82
+ Do not truncate svg sizes to nearest point
83
+ ------------------------------------------
84
+
85
+ There is no reason to size the SVG out put in integer points, change
86
+ to out putting floats for the *height *, *width *, and *viewBox * attributes
87
+ of the *svg * element.
88
+
89
+
90
+ Deprecations
91
+ ------------
92
+
93
+ The unused and untested ``Artist.onRemove `` and ``Artist.hitlist `` methods have
94
+ been deprecated.
95
+
96
+
97
+ Deprecations
98
+ ------------
99
+
100
+ When given 2D inputs with non-matching numbers of columns, `~.pyplot.plot `
101
+ currently cycles through the columns of the narrower input, until all the
102
+ columns of the wider input have been plotted. This behavior is deprecated; in
103
+ the future, only broadcasting (1 column to *n * columns) will be performed.
104
+
105
+
106
+ Deprecations
107
+ ------------
108
+
109
+ The now unused ``mlab.less_simple_linear_interpolation `` function is
110
+ deprecated.
111
+
112
+
113
+ Deprecation of unused methods
114
+ -----------------------------
115
+
116
+ The unused ``ContourLabeler.get_real_label_width `` method is deprecated.
117
+
118
+
119
+ Deprecations
120
+ ------------
121
+
122
+ The unused ``FigureManagerBase.show_popup `` method is deprecated. This
123
+ introduced in e945059b327d42a99938b939a1be867fa023e7ba in 2005 but never built
124
+ out into any of the backends.
125
+
126
+
127
+ Removal of unused imports
128
+ -------------------------
129
+ Many unused imports were removed from the codebase. As a result,
130
+ trying to import certain classes or functions from the "wrong" module
131
+ (e.g. `~.Figure ` from :mod: `matplotlib.backends.backend_agg ` instead of
132
+ :mod: `matplotlib.figure `) will now raise an `ImportError `.
133
+
134
+
135
+ Deprecations
136
+ ------------
137
+
138
+ Using `.pyplot.axes ` with an `.Axes ` as argument is deprecated. This sets
139
+ the current axes, i.e. it has the same effect as `.pyplot.sca `. For clarity
140
+ ``plt.sca(ax) `` should be preferred over ``plt.axes(ax) ``.
141
+
142
+
143
+ Fontsizes less than 1 pt are clipped to be 1 pt.
144
+ ------------------------------------------------
145
+
146
+ FreeType doesn't allow fonts to get smaller than 1 pt, so all Agg
147
+ backends were silently rounding up to 1 pt. PDF (other vector
148
+ backends?) were letting us write fonts that were less than 1 pt, but
149
+ they could not be placed properly because position information comes from
150
+ FreeType. This change makes it so no backends can use fonts smaller than
151
+ 1 pt, consistent with FreeType and ensuring more consistent results across
152
+ backends.
153
+
154
+
155
+ Deprecation of the ``nbagg.transparent `` rcParam
156
+ ------------------------------------------------
157
+
158
+ To control transparency of figure patches in the nbagg (or any other) backend,
159
+ directly set ``figure.patch.facecolor ``, or the ``figure.facecolor `` rcParam.
160
+
161
+
162
+ Removal of deprecated rcParams
163
+ ------------------------------
164
+
165
+ The following deprecated rcParams have been removed:
166
+
167
+ - ``axes.color_cycle `` (see ``axes.prop_cycle ``),
168
+ - ``legend.isaxes ``,
169
+ - ``svg.embed_char_paths `` (see ``svg.fonttype ``),
170
+ - ``text.fontstyle ``, ``text.fontangle ``, ``text.fontvariant ``,
171
+ ``text.fontweight ``, ``text.fontsize `` (renamed to ``text.style ``, etc.),
172
+ - ``tick.size `` (renamed to ``tick.major.size ``).
173
+
174
+
175
+ `~.tight_layout.auto_adjust_subplotpars ` now raises `ValueError ` instead of `RuntimeError ` when sizes of input lists don't match
176
+ --------------------------------------------------------------------------------------------------------------------------------
177
+
178
+
179
+ Deprecation of backend_tkagg.AxisMenu
180
+ -------------------------------------
181
+
182
+ The above-mentioned class is deprecated, as it has become unused since the
183
+ removal of "classic" toolbars.
184
+
185
+
186
+ Changes to Qt backend class MRO
187
+ -------------------------------
188
+
189
+ To support both Agg and cairo rendering for Qt backends all of the
190
+ non-Agg specific code previously in
191
+ :class: `.backend_qt5agg.FigureCanvasQTAggBase ` has been moved to
192
+ :class: `.backend_qt5.FigureCanvasQT ` so it can be shared with the cairo
193
+ implementation. The :meth: `.FigureCanvasQTAggBase.paintEvent `,
194
+ :meth: `.FigureCanvasQTAggBase.blit `, and
195
+ :meth: `.FigureCanvasQTAggBase.print_figure ` methods have moved to
196
+ :meth: `.FigureCanvasQTAgg.paintEvent `, :meth: `.FigureCanvasQTAgg.blit `, and
197
+ :meth: `.FigureCanvasQTAgg.print_figure `. The first two methods assume that
198
+ the instance is also a :class: `QWidget ` so to use
199
+ :class: `FigureCanvasQTAggBase ` it was required to multiple inherit
200
+ from a :class: `QWidget ` sub-class.
201
+
202
+ Having moved all of its methods either up or down the class hierarchy
203
+ :class: `FigureCanvasQTAggBase ` has been deprecated. To do this with
204
+ out warning and to preserve as much API as possible,
205
+ :class: `.backend_qt5.FigureCanvasQTAggBase ` now inherits from
206
+ :class: `.backend_qt5.FigureCanvasQTAgg `.
207
+
208
+ The MRO for :class: `FigureCanvasQTAgg ` and
209
+ :class: `FigureCanvasQTAggBase ` used to be ::
210
+
211
+
212
+ [matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg,
213
+ matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase,
214
+ matplotlib.backends.backend_agg.FigureCanvasAgg,
215
+ matplotlib.backends.backend_qt5.FigureCanvasQT,
216
+ PyQt5.QtWidgets.QWidget,
217
+ PyQt5.QtCore.QObject,
218
+ sip.wrapper,
219
+ PyQt5.QtGui.QPaintDevice,
220
+ sip.simplewrapper,
221
+ matplotlib.backend_bases.FigureCanvasBase,
222
+ object]
223
+
224
+ and ::
225
+
226
+
227
+ [matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase,
228
+ matplotlib.backends.backend_agg.FigureCanvasAgg,
229
+ matplotlib.backend_bases.FigureCanvasBase,
230
+ object]
231
+
232
+
233
+ respectively. They are now ::
234
+
235
+ [matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg,
236
+ matplotlib.backends.backend_agg.FigureCanvasAgg,
237
+ matplotlib.backends.backend_qt5.FigureCanvasQT,
238
+ PyQt5.QtWidgets.QWidget,
239
+ PyQt5.QtCore.QObject,
240
+ sip.wrapper,
241
+ PyQt5.QtGui.QPaintDevice,
242
+ sip.simplewrapper,
243
+ matplotlib.backend_bases.FigureCanvasBase,
244
+ object]
245
+
246
+ and ::
247
+
248
+ [matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase,
249
+ matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg,
250
+ matplotlib.backends.backend_agg.FigureCanvasAgg,
251
+ matplotlib.backends.backend_qt5.FigureCanvasQT,
252
+ PyQt5.QtWidgets.QWidget,
253
+ PyQt5.QtCore.QObject,
254
+ sip.wrapper,
255
+ PyQt5.QtGui.QPaintDevice,
256
+ sip.simplewrapper,
257
+ matplotlib.backend_bases.FigureCanvasBase,
258
+ object]
259
+
260
+
261
+
262
+ Removed attributes
263
+ ------------------
264
+
265
+ The unused `FONT_SCALE ` and `fontd ` attributes of the `RendererSVG ` class have
266
+ been removed.
267
+
268
+
269
+ API changes for ``constrained_layout ``
270
+ ----------------------------------------
271
+
272
+ The new constrained_layout functionality has some minor (largely backwards-
273
+ compatible) API changes. See
274
+ :ref: `sphx_glr_tutorials_intermediate_constrainedlayout_guide.py ` for
275
+ more details on this functionality.
276
+
277
+ This requires a new dependency on kiwisolver _.
278
+
279
+ _https://github.com/nucleic/kiwi
280
+
281
+ kwarg ``fig `` deprectated in `.GridSpec.get_subplot_params `
282
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
283
+
284
+ Use ``figure `` instead of ``fig ``, which is now deprecated.
285
+
286
+
287
+ `Axes.imshow ` clips RGB values to the valid range
288
+ -------------------------------------------------
289
+
290
+ When `Axes.imshow ` is passed an RGB or RGBA value with out-of-range
291
+ values, it now logs a warning and clips them to the valid range.
292
+ The old behaviour, wrapping back in to the range, often hid outliers
293
+ and made interpreting RGB images unreliable.
294
+
295
+
296
+ Deprecation of qt binding rcparams
297
+ ----------------------------------
298
+
299
+ The :rc: `backend.qt4 ` and :rc: `backend.qt5 ` rcParams were deprecated
300
+ in version 2.2. In order to force the use of a specific Qt binding,
301
+ either import that binding first, or set the ``QT_API `` environment
302
+ variable.
303
+
304
+
305
+ GTKAgg and GTKCairo backends deprecated
306
+ ---------------------------------------
307
+
308
+ The GTKAgg and GTKCairo backends have been deprecated. These obsolete backends
309
+ allow figures to be rendered via the GTK+ 2 toolkit. They are untested, known
310
+ to be broken, will not work with Python 3, and their use has been discouraged
311
+ for some time. Instead, use the `GTK3Agg ` and `GTK3Cairo ` backends for
312
+ rendering to GTK+ 3 windows.
19
313
20
- next_api_changes/*
21
314
22
315
23
316
API Changes in 2.1.2
0 commit comments