File: removals.rst

package info (click to toggle)
matplotlib 3.6.3-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 76,280 kB
  • sloc: python: 133,763; cpp: 66,599; objc: 1,699; ansic: 1,367; javascript: 765; makefile: 153; sh: 48
file content (222 lines) | stat: -rw-r--r-- 9,165 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
Removals
--------

The following deprecated APIs have been removed:

Removed behaviour
~~~~~~~~~~~~~~~~~

Stricter validation of function parameters
..........................................

- Unknown keyword arguments to `.Figure.savefig`, `.pyplot.savefig`, and the
  ``FigureCanvas.print_*`` methods now raise a `TypeError`, instead of being
  ignored.
- Extra parameters to the `~.axes.Axes` constructor, i.e., those other than
  *fig* and *rect*, are now keyword only.
- Passing arguments not specifically listed in the signatures of
  `.Axes3D.plot_surface` and `.Axes3D.plot_wireframe` is no longer supported;
  pass any extra arguments as keyword arguments instead.
- Passing positional arguments to `.LineCollection` has been removed; use
  specific keyword argument names now.

``imread`` no longer accepts URLs
.................................

Passing a URL to `~.pyplot.imread()` has been removed. Please open the URL for
reading and directly use the Pillow API (e.g.,
``PIL.Image.open(urllib.request.urlopen(url))``, or
``PIL.Image.open(io.BytesIO(requests.get(url).content))``) instead.

MarkerStyle is immutable
........................

The methods ``MarkerStyle.set_fillstyle`` and ``MarkerStyle.set_marker`` have
been removed. Create a new `.MarkerStyle` with the respective parameters
instead.

Passing bytes to ``FT2Font.set_text``
.....................................

... is no longer supported. Pass `str` instead.

Support for passing tool names to ``ToolManager.add_tool``
..........................................................

... has been removed.  The second parameter to `.ToolManager.add_tool` must now
always be a tool class.

``backend_tools.ToolFullScreen`` now inherits from ``ToolBase``, not from ``ToolToggleBase``
............................................................................................

`.ToolFullScreen` can only switch between the non-fullscreen and fullscreen
states, but not unconditionally put the window in a given state; hence the
``enable`` and ``disable`` methods were misleadingly named.  Thus, the
`.ToolToggleBase`-related API (``enable``, ``disable``, etc.) was removed.

``BoxStyle._Base`` and ``transmute`` method of box styles
.........................................................

... have been removed.  Box styles implemented as classes no longer need to
inherit from a base class.

Loaded modules logging
......................

The list of currently loaded modules is no longer logged at the DEBUG level at
Matplotlib import time, because it can produce extensive output and make other
valuable DEBUG statements difficult to find. If you were relying on this
output, please arrange for your own logging (the built-in `sys.modules` can be
used to get the currently loaded modules).

Modules
~~~~~~~

- The ``cbook.deprecation`` module has been removed from the public API as it
  is considered internal.
- The ``mpl_toolkits.axes_grid`` module has been removed. All functionality 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 `mpl_toolkits.axisartist` can be found in
  `mpl_toolkits.axisartist`.

Classes, methods and attributes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The following module-level classes/variables have been removed:

- ``cm.cmap_d``
- ``colorbar.colorbar_doc``, ``colorbar.colorbar_kw_doc``
- ``ColorbarPatch``
- ``mathtext.Fonts`` and all its subclasses
- ``mathtext.FontConstantsBase`` and all its subclasses
- ``mathtext.latex_to_bakoma``, ``mathtext.latex_to_cmex``,
  ``mathtext.latex_to_standard``
- ``mathtext.MathtextBackendPdf``, ``mathtext.MathtextBackendPs``,
  ``mathtext.MathtextBackendSvg``, ``mathtext.MathtextBackendCairo``; use
  `.MathtextBackendPath` instead.
- ``mathtext.Node`` and all its subclasses
- ``mathtext.NUM_SIZE_LEVELS``
- ``mathtext.Parser``
- ``mathtext.Ship``
- ``mathtext.SHRINK_FACTOR`` and ``mathtext.GROW_FACTOR``
- ``mathtext.stix_virtual_fonts``,
- ``mathtext.tex2uni``
- ``backend_pgf.TmpDirCleaner``
- ``backend_ps.GraphicsContextPS``; use ``GraphicsContextBase`` instead.
- ``backend_wx.IDLE_DELAY``
- ``axes_grid1.parasite_axes.ParasiteAxesAuxTransBase``; use
  `.ParasiteAxesBase` instead.
- ``axes_grid1.parasite_axes.ParasiteAxesAuxTrans``; use `.ParasiteAxes`
  instead.

The following class attributes have been removed:

- ``Line2D.validCap`` and ``Line2D.validJoin``; validation is centralized in
  ``rcsetup``.
- ``Patch.validCap`` and ``Patch.validJoin``; validation is centralized in
  ``rcsetup``.
- ``renderer.M``, ``renderer.eye``, ``renderer.vvec``,
  ``renderer.get_axis_position`` placed on the Renderer during 3D Axes draw;
  these attributes are all available via `.Axes3D`, which can be accessed via
  ``self.axes`` on all `.Artist`\s.
- ``RendererPdf.mathtext_parser``, ``RendererPS.mathtext_parser``,
  ``RendererSVG.mathtext_parser``, ``RendererCairo.mathtext_parser``
- ``StandardPsFonts.pswriter``
- ``Subplot.figbox``; use `.Axes.get_position` instead.
- ``Subplot.numRows``; ``ax.get_gridspec().nrows`` instead.
- ``Subplot.numCols``; ``ax.get_gridspec().ncols`` instead.
- ``SubplotDivider.figbox``
- ``cids``, ``cnt``, ``observers``, ``change_observers``, and
  ``submit_observers`` on all `.Widget`\s

The following class methods have been removed:

- ``Axis.cla()``; use `.Axis.clear` instead.
- ``RadialAxis.cla()`` and ``ThetaAxis.cla()``; use `.RadialAxis.clear` or
  `.ThetaAxis.clear` instead.
- ``Spine.cla()``; use `.Spine.clear` instead.
- ``ContourLabeler.get_label_coords()``; there is no replacement as it was
  considered an internal helper.
- ``FancyArrowPatch.get_dpi_cor`` and ``FancyArrowPatch.set_dpi_cor``

- ``FigureCanvas.get_window_title()`` and ``FigureCanvas.set_window_title()``;
  use `.FigureManagerBase.get_window_title` or
  `.FigureManagerBase.set_window_title` if using pyplot, or use GUI-specific
  methods if embedding.
- ``FigureManager.key_press()`` and ``FigureManager.button_press()``; trigger
  the events directly on the canvas using
  ``canvas.callbacks.process(event.name, event)`` for key and button events.

- ``RendererAgg.get_content_extents()`` and
  ``RendererAgg.tostring_rgba_minimized()``
- ``NavigationToolbar2Wx.get_canvas()``

- ``ParasiteAxesBase.update_viewlim()``; use `.ParasiteAxesBase.apply_aspect`
  instead.
- ``Subplot.get_geometry()``; use `.SubplotBase.get_subplotspec` instead.
- ``Subplot.change_geometry()``; use `.SubplotBase.set_subplotspec` instead.
- ``Subplot.update_params()``; this method did nothing.
- ``Subplot.is_first_row()``; use ``ax.get_subplotspec().is_first_row``
  instead.
- ``Subplot.is_first_col()``; use ``ax.get_subplotspec().is_first_col``
  instead.
- ``Subplot.is_last_row()``; use ``ax.get_subplotspec().is_last_row`` instead.
- ``Subplot.is_last_col()``; use ``ax.get_subplotspec().is_last_col`` instead.
- ``SubplotDivider.change_geometry()``; use `.SubplotDivider.set_subplotspec`
  instead.
- ``SubplotDivider.get_geometry()``; use `.SubplotDivider.get_subplotspec`
  instead.
- ``SubplotDivider.update_params()``
- ``get_depth``, ``parse``, ``to_mask``, ``to_rgba``, and ``to_png`` of
  `.MathTextParser`; use `.mathtext.math_to_image` instead.

- ``MovieWriter.cleanup()``; the cleanup logic is instead fully implemented in
  `.MovieWriter.finish` and ``cleanup`` is no longer called.

Functions
~~~~~~~~~

The following functions have been removed;

- ``backend_template.new_figure_manager()``,
  ``backend_template.new_figure_manager_given_figure()``, and
  ``backend_template.draw_if_interactive()`` have been removed, as part of the
  introduction of the simplified backend API.
- Deprecation-related re-imports ``cbook.deprecated()``, and
  ``cbook.warn_deprecated()``.
- ``colorbar.colorbar_factory()``; use `.Colorbar` instead.
  ``colorbar.make_axes_kw_doc()``
- ``mathtext.Error()``
- ``mathtext.ship()``
- ``mathtext.tex2uni()``
- ``axes_grid1.parasite_axes.parasite_axes_auxtrans_class_factory()``; use
  `.parasite_axes_class_factory` instead.
- ``sphinext.plot_directive.align()``; use
  ``docutils.parsers.rst.directives.images.Image.align`` instead.

Arguments
~~~~~~~~~

The following arguments have been removed:

- *dpi* from ``print_ps()`` in the PS backend and ``print_pdf()`` in the PDF
  backend. Instead, the methods will obtain the DPI from the ``savefig``
  machinery.
- *dpi_cor* from `~.FancyArrowPatch`
- *minimum_descent* from ``TextArea``; it is now effectively always True
- *origin* from ``FigureCanvasWx.gui_repaint()``
- *project* from ``Line3DCollection.draw()``
- *renderer* from `.Line3DCollection.do_3d_projection`,
  `.Patch3D.do_3d_projection`, `.PathPatch3D.do_3d_projection`,
  `.Path3DCollection.do_3d_projection`, `.Patch3DCollection.do_3d_projection`,
  `.Poly3DCollection.do_3d_projection`
- *resize_callback* from the Tk backend; use
  ``get_tk_widget().bind('<Configure>', ..., True)`` instead.
- *return_all* from ``gridspec.get_position()``
- Keyword arguments to ``gca()``; there is no replacement.

rcParams
~~~~~~~~

The setting :rc:`ps.useafm` no longer has any effect on `matplotlib.mathtext`.