You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
<divid="unreleased-message"> You are reading an old version of the documentation (v3.3.0). For the latest version see <ahref="/stable/">https://matplotlib.org/stable/</a></div>
<li><aclass="reference internal" href="#figurecanvasbase-now-always-has-a-manager-attribute-which-may-be-none"><codeclass="docutils literal notranslate"><spanclass="pre">FigureCanvasBase</span></code> now always has a <codeclass="docutils literal notranslate"><spanclass="pre">manager</span></code> attribute, which may be None</a></li>
<li><aclass="reference internal" href="#cbook-callbackregistry-now-propagates-exceptions-when-no-gui-event-loop-is-running"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.CallbackRegistry</span></code> now propagates exceptions when no GUI event loop is running</a></li>
<li><aclass="reference internal" href="#axis-set-ticklabels-must-match-fixedlocator-locs"><codeclass="docutils literal notranslate"><spanclass="pre">Axis.set_ticklabels()</span></code> must match <codeclass="docutils literal notranslate"><spanclass="pre">FixedLocator.locs</span></code></a></li>
<li><aclass="reference internal" href="#pyplot-xticks-and-pyplot-yticks"><codeclass="docutils literal notranslate"><spanclass="pre">pyplot.xticks()</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">pyplot.yticks()</span></code></a></li>
<li><aclass="reference internal" href="#setting-the-same-property-under-multiple-aliases-now-raises-a-typeerror">Setting the same property under multiple aliases now raises a TypeError</a></li>
<li><aclass="reference internal" href="#axes-plot-no-longer-accepts-x-and-y-being-both-2d-and-with-different-numbers-of-columns"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.plot</span></code> no longer accepts <em>x</em> and <em>y</em> being both 2D and with different numbers of columns</a></li>
<li><aclass="reference internal" href="#text-update-from-now-copies-usetex-state-from-the-source-text"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Text.update_from</span></code> now copies usetex state from the source Text</a></li>
<li><aclass="reference internal" href="#stem-now-defaults-to-use-line-collection-true"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">stem</span></code> now defaults to <codeclass="docutils literal notranslate"><spanclass="pre">use_line_collection=True</span></code></a></li>
<li><aclass="reference internal" href="#rcparams-color-validator-is-now-stricter">rcParams color validator is now stricter</a></li>
<li><aclass="reference internal" href="#symlognorm-now-has-a-base-parameter"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">SymLogNorm</span></code> now has a <em>base</em> parameter</a></li>
<li><aclass="reference internal" href="#errorbar-now-color-cycles-when-only-errorbar-color-is-set"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">errorbar</span></code> now color cycles when only errorbar color is set</a></li>
<li><aclass="reference internal" href="#rcsetup-validate-color-for-prop-cycle-now-always-raises-typeerror-for-bytes-input"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">rcsetup.validate_color_for_prop_cycle</span></code> now always raises TypeError for bytes input</a></li>
<li><aclass="reference internal" href="#figurecanvasps-print-ps-and-figurecanvasps-print-eps-no-longer-apply-edgecolor-and-facecolor"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FigureCanvasPS.print_ps</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FigureCanvasPS.print_eps</span></code> no longer apply edgecolor and facecolor</a></li>
<li><aclass="reference internal" href="#pyplot-subplot-now-raises-typeerror-when-given-an-incorrect-number-of-arguments"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.subplot()</span></code> now raises TypeError when given an incorrect number of arguments</a></li>
<li><aclass="reference internal" href="#shortcut-for-closing-all-figures">Shortcut for closing all figures</a></li>
<li><aclass="reference internal" href="#autoscale-for-arrow">Autoscale for arrow</a></li>
<li><aclass="reference internal" href="#set-tick-params-label1on-false-now-also-makes-the-offset-text-if-any-invisible"><codeclass="docutils literal notranslate"><spanclass="pre">set_tick_params(label1On=False)</span></code> now also makes the offset text (if any) invisible</a></li>
<li><aclass="reference internal" href="#axes-annotate-and-pyplot-annotate-parameter-name-changed"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.annotate</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.annotate</span></code> parameter name changed</a></li>
<li><aclass="reference internal" href="#font-manager-json-dump-now-locks-the-font-manager-dump-file"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">font_manager.json_dump</span></code> now locks the font manager dump file</a></li>
<li><aclass="reference internal" href="#pyplot-rgrids-and-pyplot-thetagrids-now-act-as-setters-also-when-called-with-only-kwargs"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.rgrids</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.thetagrids</span></code> now act as setters also when called with only kwargs</a></li>
<li><aclass="reference internal" href="#axis-get-minorticklabels-and-axis-get-majorticklabels-now-returns-plain-list"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axis.get_minorticklabels</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axis.get_majorticklabels</span></code> now returns plain list</a></li>
<li><aclass="reference internal" href="#add-normalize-keyword-argument-to-axes-pie">Add <em>normalize</em> keyword argument to <codeclass="docutils literal notranslate"><spanclass="pre">Axes.pie</span></code></a></li>
<li><aclass="reference internal" href="#table-customcell-is-now-an-alias-for-table-cell"><codeclass="docutils literal notranslate"><spanclass="pre">table.CustomCell</span></code> is now an alias for <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">table.Cell</span></code></a></li>
<li><aclass="reference internal" href="#step-type-histograms-default-to-the-zorder-of-line2d">"step"-type histograms default to the zorder of <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Line2D</span></code></a></li>
<li><aclass="reference internal" href="#legend-and-table-no-longer-allow-invalid-locations"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Legend</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Table</span></code> no longer allow invalid locations</a></li>
<li><aclass="reference internal" href="#passing-line2d-s-drawstyle-together-with-linestyle-is-removed">Passing Line2D's <em>drawstyle</em> together with <em>linestyle</em> is removed</a></li>
<li><aclass="reference internal" href="#upper-case-color-strings">Upper case color strings</a></li>
<li><aclass="reference internal" href="#tight-constrained-layout-no-longer-worry-about-titles-that-are-too-wide">tight/constrained_layout no longer worry about titles that are too wide</a></li>
<li><aclass="reference internal" href="#rcparams-savefig-facecolor-default-auto-and-rcparams-savefig-edgecolor-default-auto-now-default-to-auto"><codeclass="docutils literal notranslate"><spanclass="pre">rcParams["savefig.facecolor"]</span></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">'auto'</span></code>) and <codeclass="docutils literal notranslate"><spanclass="pre">rcParams["savefig.edgecolor"]</span></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">'auto'</span></code>) now default to "auto"</a></li>
<li><aclass="reference internal" href="#when-using-a-single-dataset-axes-hist-no-longer-wraps-the-added-artist-in-a-silent-list">When using a single dataset, <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.hist</span></code> no longer wraps the added artist in a <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">silent_list</span></code></a></li>
<li><aclass="reference internal" href="#qt-and-wx-backends-no-longer-create-a-status-bar-by-default">Qt and wx backends no longer create a status bar by default</a></li>
<li><aclass="reference internal" href="#rcparams-text-hinting-default-force-autohint-now-supports-names-mapping-to-freetype-flags"><codeclass="docutils literal notranslate"><spanclass="pre">rcParams["text.hinting"]</span></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">'force_autohint'</span></code>) now supports names mapping to FreeType flags</a></li>
<li><aclass="reference internal" href="#flags-containing-u-passed-to-cbook-to-filehandle-and-cbook-open-file-cm">Flags containing "U" passed to <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.to_filehandle</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.open_file_cm</span></code></a></li>
<li><aclass="reference internal" href="#pdf-and-ps-character-tracking-internals">PDF and PS character tracking internals</a></li>
<li><aclass="reference internal" href="#case-insensitive-capstyles-and-joinstyles">Case-insensitive capstyles and joinstyles</a></li>
<li><aclass="reference internal" href="#passing-raw-data-to-register-cmap">Passing raw data to <codeclass="docutils literal notranslate"><spanclass="pre">register_cmap()</span></code></a></li>
<li><aclass="reference internal" href="#passing-both-singular-and-plural-colors-linewidths-linestyles-to-axes-eventplot">Passing both singular and plural <em>colors</em>, <em>linewidths</em>, <em>linestyles</em> to <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.eventplot</span></code></a></li>
<li><aclass="reference internal" href="#setting-rcparams-text-latex-preamble-default-or-rcparams-pdf-preamble-to-non-strings">Setting <codeclass="docutils literal notranslate"><spanclass="pre">rcParams["text.latex.preamble"]</span></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">''</span></code>) or <codeclass="docutils literal notranslate"><spanclass="pre">rcParams["pdf.preamble"]</span></code> to non-strings</a></li>
<li><aclass="reference internal" href="#parameters-norm-and-vmin-vmax-should-not-be-used-simultaneously">Parameters <em>norm</em> and <em>vmin</em>/<em>vmax</em> should not be used simultaneously</a></li>
<li><aclass="reference internal" href="#effectless-parameters-of-figure-colorbar-and-matplotlib-colorbar-colorbar">Effectless parameters of <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Figure.colorbar</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">matplotlib.colorbar.Colorbar</span></code></a></li>
<li><aclass="reference internal" href="#args-key-and-exec-key-attributes-of-builtin-moviewriters"><codeclass="docutils literal notranslate"><spanclass="pre">args_key</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">exec_key</span></code> attributes of builtin <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">MovieWriter</span></code>s</a></li>
<li><aclass="reference internal" href="#add-subplot-validates-its-inputs"><codeclass="docutils literal notranslate"><spanclass="pre">add_subplot()</span></code> validates its inputs</a></li>
<li><aclass="reference internal" href="#toggling-axes-navigation-from-the-keyboard-using-a-and-digit-keys">Toggling axes navigation from the keyboard using "a" and digit keys</a></li>
<li><aclass="reference internal" href="#fontdict-and-minor-parameters-of-axes-set-xticklabels-and-axes-set-yticklabels-will-become-keyword-only"><em>fontdict</em> and <em>minor</em> parameters of <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.set_xticklabels</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.set_yticklabels</span></code> will become keyword-only</a></li>
<li><aclass="reference internal" href="#all-parameters-of-figure-subplots-except-nrows-and-ncols-will-become-keyword-only">All parameters of <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Figure.subplots</span></code> except <em>nrows</em> and <em>ncols</em> will become keyword-only</a></li>
<li><aclass="reference internal" href="#orientation-of-eventplot-and-eventcollection"><em>orientation</em> of <codeclass="docutils literal notranslate"><spanclass="pre">eventplot()</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">EventCollection</span></code></a></li>
<li><aclass="reference internal" href="#minor-kwarg-to-axis-get-ticklocs-will-become-keyword-only"><em>minor</em> kwarg to <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axis.get_ticklocs</span></code> will become keyword-only</a></li>
<li><aclass="reference internal" href="#reordering-of-parameters-by-artist-set">Reordering of parameters by <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Artist.set</span></code></a></li>
<li><aclass="reference internal" href="#passing-multiple-keys-as-a-single-comma-separated-string-or-multiple-arguments-to-toolmanager-update-keymap">Passing multiple keys as a single comma-separated string or multiple arguments to <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">ToolManager.update_keymap</span></code></a></li>
<li><aclass="reference internal" href="#statusbar-classes-and-attributes">Statusbar classes and attributes</a></li>
<li><aclass="reference internal" href="#ismath-parameter-of-draw-tex"><codeclass="docutils literal notranslate"><spanclass="pre">ismath</span></code> parameter of <codeclass="docutils literal notranslate"><spanclass="pre">draw_tex</span></code></a></li>
<h3><aclass="toc-backref" href="#id1">Behaviour changes</a><aclass="headerlink" href="#behaviour-changes" title="Permalink to this headline">¶</a></h3>
<divclass="section" id="formatter-fix-minus">
<h4><codeclass="docutils literal notranslate"><spanclass="pre">Formatter.fix_minus</span></code><aclass="headerlink" href="#formatter-fix-minus" title="Permalink to this headline">¶</a></h4>
whenever <codeclass="docutils literal notranslate"><aclass="reference external" href="../tutorials/introductory/customizing.html?highlight=axes.unicode_minus#a-sample-matplotlibrc-file"><spanclass="pre">rcParams["axes.unicode_minus"]</span></a></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">True</span></code>) is True; i.e. its behavior matches the one
of <codeclass="docutils literal notranslate"><spanclass="pre">ScalarFormatter.fix_minus</span></code> (<aclass="reference internal" href="ticker_api.html#matplotlib.ticker.ScalarFormatter" title="matplotlib.ticker.ScalarFormatter"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">ScalarFormatter</span></code></a> now just inherits that
implementation).</p>
<p>This replacement is now used by the <codeclass="docutils literal notranslate"><spanclass="pre">format_data_short</span></code> method of the various
builtin formatter classes, which affects the cursor value in the GUI toolbars.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">FigureCanvasBase</span></code> now always has a <codeclass="docutils literal notranslate"><spanclass="pre">manager</span></code> attribute, which may be None<aclass="headerlink" href="#figurecanvasbase-now-always-has-a-manager-attribute-which-may-be-none" title="Permalink to this headline">¶</a></h4>
<p>Previously, it did not necessarily have such an attribute. A check for
<codeclass="docutils literal notranslate"><spanclass="pre">hasattr(figure.canvas,</span><spanclass="pre">"manager")</span></code> should now be replaced by
<h4><aclass="reference internal" href="cbook_api.html#matplotlib.cbook.CallbackRegistry" title="matplotlib.cbook.CallbackRegistry"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.CallbackRegistry</span></code></a> now propagates exceptions when no GUI event loop is running<aclass="headerlink" href="#cbook-callbackregistry-now-propagates-exceptions-when-no-gui-event-loop-is-running" title="Permalink to this headline">¶</a></h4>
<p><aclass="reference internal" href="cbook_api.html#matplotlib.cbook.CallbackRegistry" title="matplotlib.cbook.CallbackRegistry"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.CallbackRegistry</span></code></a> now defaults to propagating exceptions thrown by
callbacks when no interactive GUI event loop is running. If a GUI event loop
<em>is</em> running, <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.CallbackRegistry" title="matplotlib.cbook.CallbackRegistry"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.CallbackRegistry</span></code></a> still defaults to just printing a
traceback, as unhandled exceptions can make the program completely <codeclass="docutils literal notranslate"><spanclass="pre">abort()</span></code>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">Axes.locator_params()</span></code> validates <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code> parameter<aclass="headerlink" href="#axes-locator-params-validates-axis-parameter" title="Permalink to this headline">¶</a></h4>
<p><aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.locator_params.html#matplotlib.axes.Axes.locator_params" title="matplotlib.axes.Axes.locator_params"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">axes.Axes.locator_params</span></code></a> used to accept any value for <codeclass="docutils literal notranslate"><spanclass="pre">axis</span></code> and silently
did nothing, when passed an unsupported value. It now raises a <codeclass="docutils literal notranslate"><spanclass="pre">ValueError</span></code>.</p>
<aclass="reference internal" href="_as_gen/matplotlib.pyplot.tick_params.html#matplotlib.pyplot.tick_params" title="matplotlib.pyplot.tick_params"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.tick_params</span></code></a>) used to accept any value for <codeclass="docutils literal notranslate"><spanclass="pre">which</span></code> and silently
did nothing, when passed an unsupported value. It now raises a <codeclass="docutils literal notranslate"><spanclass="pre">ValueError</span></code>.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">Axis.set_ticklabels()</span></code> must match <codeclass="docutils literal notranslate"><spanclass="pre">FixedLocator.locs</span></code><aclass="headerlink" href="#axis-set-ticklabels-must-match-fixedlocator-locs" title="Permalink to this headline">¶</a></h4>
<p>If an axis is using a <aclass="reference internal" href="ticker_api.html#matplotlib.ticker.FixedLocator" title="matplotlib.ticker.FixedLocator"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">ticker.FixedLocator</span></code></a>, typically set by a call to
<aclass="reference internal" href="_as_gen/matplotlib.axis.Axis.set_ticks.html#matplotlib.axis.Axis.set_ticks" title="matplotlib.axis.Axis.set_ticks"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axis.set_ticks</span></code></a>, then the number of ticklabels supplied must match the
number of locations available (<codeclass="docutils literal notranslate"><spanclass="pre">FixedFormattor.locs</span></code>). If not, a
<codeclass="docutils literal notranslate"><spanclass="pre">ValueError</span></code> is raised.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">backend_pgf.LatexManager.latex</span></code><aclass="headerlink" href="#backend-pgf-latexmanager-latex" title="Permalink to this headline">¶</a></h4>
<p><codeclass="docutils literal notranslate"><spanclass="pre">backend_pgf.LatexManager.latex</span></code> is now created with <codeclass="docutils literal notranslate"><spanclass="pre">encoding="utf-8"</span></code>, so
its <codeclass="docutils literal notranslate"><spanclass="pre">stdin</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">stdout</span></code>, and <codeclass="docutils literal notranslate"><spanclass="pre">stderr</span></code> attributes are utf8-encoded.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">pyplot.xticks()</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">pyplot.yticks()</span></code><aclass="headerlink" href="#pyplot-xticks-and-pyplot-yticks" title="Permalink to this headline">¶</a></h4>
<p>Previously, passing labels without passing the ticks to either <aclass="reference internal" href="_as_gen/matplotlib.pyplot.xticks.html#matplotlib.pyplot.xticks" title="matplotlib.pyplot.xticks"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.xticks</span></code></a>
and <aclass="reference internal" href="_as_gen/matplotlib.pyplot.yticks.html#matplotlib.pyplot.yticks" title="matplotlib.pyplot.yticks"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.yticks</span></code></a> would result in</p>
<blockquote>
<div>TypeError: object of type 'NoneType' has no len()</div></blockquote>
<p>It now raises a <codeclass="docutils literal notranslate"><spanclass="pre">TypeError</span></code> with a proper description of the error.</p>
<h4>Setting the same property under multiple aliases now raises a TypeError<aclass="headerlink" href="#setting-the-same-property-under-multiple-aliases-now-raises-a-typeerror" title="Permalink to this headline">¶</a></h4>
<p>Previously, calling e.g. <codeclass="docutils literal notranslate"><spanclass="pre">plot(...,</span><spanclass="pre">color=somecolor,</span><spanclass="pre">c=othercolor)</span></code> would
emit a warning because <codeclass="docutils literal notranslate"><spanclass="pre">color</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">c</span></code> actually map to the same Artist
<h4><aclass="reference internal" href="_as_gen/matplotlib.animation.FileMovieWriter.html#matplotlib.animation.FileMovieWriter" title="matplotlib.animation.FileMovieWriter"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FileMovieWriter</span></code></a> temporary frames directory<aclass="headerlink" href="#filemoviewriter-temporary-frames-directory" title="Permalink to this headline">¶</a></h4>
<p><aclass="reference internal" href="_as_gen/matplotlib.animation.FileMovieWriter.html#matplotlib.animation.FileMovieWriter" title="matplotlib.animation.FileMovieWriter"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FileMovieWriter</span></code></a> now defaults to writing temporary frames in a temporary
directory, which is always cleared at exit. In order to keep the individual
frames saved on the filesystem, pass an explicit <em>frame_prefix</em>.</p>
<h4><aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.plot.html#matplotlib.axes.Axes.plot" title="matplotlib.axes.Axes.plot"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.plot</span></code></a> no longer accepts <em>x</em> and <em>y</em> being both 2D and with different numbers of columns<aclass="headerlink" href="#axes-plot-no-longer-accepts-x-and-y-being-both-2d-and-with-different-numbers-of-columns" title="Permalink to this headline">¶</a></h4>
<p>Previously, calling <aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.plot.html#matplotlib.axes.Axes.plot" title="matplotlib.axes.Axes.plot"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.plot</span></code></a> e.g. with <em>x</em> of shape <codeclass="docutils literal notranslate"><spanclass="pre">(n,</span><spanclass="pre">3)</span></code> and <em>y</em> of
shape <codeclass="docutils literal notranslate"><spanclass="pre">(n,</span><spanclass="pre">2)</span></code> would plot the first column of <em>x</em> against the first column
of <em>y</em>, the second column of <em>x</em> against the second column of <em>y</em>, <strong>and</strong> the
first column of <em>x</em> against the third column of <em>y</em>. This now raises an error
<h4><aclass="reference internal" href="text_api.html#matplotlib.text.Text.update_from" title="matplotlib.text.Text.update_from"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Text.update_from</span></code></a> now copies usetex state from the source Text<aclass="headerlink" href="#text-update-from-now-copies-usetex-state-from-the-source-text" title="Permalink to this headline">¶</a></h4>
<h4><aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.stem.html#matplotlib.axes.Axes.stem" title="matplotlib.axes.Axes.stem"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">stem</span></code></a> now defaults to <codeclass="docutils literal notranslate"><spanclass="pre">use_line_collection=True</span></code><aclass="headerlink" href="#stem-now-defaults-to-use-line-collection-true" title="Permalink to this headline">¶</a></h4>
<p>This creates the stem plot as a <aclass="reference internal" href="collections_api.html#matplotlib.collections.LineCollection" title="matplotlib.collections.LineCollection"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">LineCollection</span></code></a> rather than individual
<h4>rcParams color validator is now stricter<aclass="headerlink" href="#rcparams-color-validator-is-now-stricter" title="Permalink to this headline">¶</a></h4>
<p>Previously, rcParams entries whose values were color-like accepted "spurious"
extra letters or characters in the "middle" of the string, e.g. <codeclass="docutils literal notranslate"><spanclass="pre">"(0,</span><spanclass="pre">1a,</span><spanclass="pre">'0.5')"</span></code>
would be interpreted as <codeclass="docutils literal notranslate"><spanclass="pre">(0,</span><spanclass="pre">1,</span><spanclass="pre">0.5)</span></code>. These extra characters (including the
internal quotes) now cause a ValueError to be raised.</p>
<h4><aclass="reference internal" href="_as_gen/matplotlib.colors.SymLogNorm.html#matplotlib.colors.SymLogNorm" title="matplotlib.colors.SymLogNorm"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">SymLogNorm</span></code></a> now has a <em>base</em> parameter<aclass="headerlink" href="#symlognorm-now-has-a-base-parameter" title="Permalink to this headline">¶</a></h4>
<p>Previously, <aclass="reference internal" href="_as_gen/matplotlib.colors.SymLogNorm.html#matplotlib.colors.SymLogNorm" title="matplotlib.colors.SymLogNorm"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">SymLogNorm</span></code></a> had no <em>base</em> keyword argument, and
defaulted to <codeclass="docutils literal notranslate"><spanclass="pre">base=np.e</span></code> whereas the documentation said it was
<codeclass="docutils literal notranslate"><spanclass="pre">base=10</span></code>. In preparation to make the default 10, calling
<aclass="reference internal" href="_as_gen/matplotlib.colors.SymLogNorm.html#matplotlib.colors.SymLogNorm" title="matplotlib.colors.SymLogNorm"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">SymLogNorm</span></code></a> without the new <em>base</em> keyword argument emits a
<h4><aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.errorbar.html#matplotlib.axes.Axes.errorbar" title="matplotlib.axes.Axes.errorbar"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">errorbar</span></code></a> now color cycles when only errorbar color is set<aclass="headerlink" href="#errorbar-now-color-cycles-when-only-errorbar-color-is-set" title="Permalink to this headline">¶</a></h4>
<p>Previously setting the <em>ecolor</em> would turn off automatic color cycling for the plot, leading to the
the lines and markers defaulting to whatever the first color in the color cycle was in the case of
<h4><aclass="reference internal" href="rcsetup_api.html#matplotlib.rcsetup.validate_color_for_prop_cycle" title="matplotlib.rcsetup.validate_color_for_prop_cycle"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">rcsetup.validate_color_for_prop_cycle</span></code></a> now always raises TypeError for bytes input<aclass="headerlink" href="#rcsetup-validate-color-for-prop-cycle-now-always-raises-typeerror-for-bytes-input" title="Permalink to this headline">¶</a></h4>
<p>It previously raised <aclass="reference external" href="https://docs.python.org/3/library/exceptions.html#TypeError" title="(in Python v3.8)"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">TypeError</span></code></a>, <strong>except</strong> when the input was of the form
<codeclass="docutils literal notranslate"><spanclass="pre">b"C[number]"</span></code> in which case it raised a ValueError.</p>
<h4><aclass="reference internal" href="backend_ps_api.html#matplotlib.backends.backend_ps.FigureCanvasPS.print_ps" title="matplotlib.backends.backend_ps.FigureCanvasPS.print_ps"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FigureCanvasPS.print_ps</span></code></a> and <aclass="reference internal" href="backend_ps_api.html#matplotlib.backends.backend_ps.FigureCanvasPS.print_eps" title="matplotlib.backends.backend_ps.FigureCanvasPS.print_eps"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FigureCanvasPS.print_eps</span></code></a> no longer apply edgecolor and facecolor<aclass="headerlink" href="#figurecanvasps-print-ps-and-figurecanvasps-print-eps-no-longer-apply-edgecolor-and-facecolor" title="Permalink to this headline">¶</a></h4>
<p>These methods now assume that the figure edge and facecolor have been correctly
applied by <aclass="reference internal" href="backend_bases_api.html#matplotlib.backend_bases.FigureCanvasBase.print_figure" title="matplotlib.backend_bases.FigureCanvasBase.print_figure"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FigureCanvasBase.print_figure</span></code></a>, as they are normally called
through it.</p>
<p>This behavior is consistent with other figure saving methods
<h4><aclass="reference internal" href="_as_gen/matplotlib.pyplot.subplot.html#matplotlib.pyplot.subplot" title="matplotlib.pyplot.subplot"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.subplot()</span></code></a> now raises TypeError when given an incorrect number of arguments<aclass="headerlink" href="#pyplot-subplot-now-raises-typeerror-when-given-an-incorrect-number-of-arguments" title="Permalink to this headline">¶</a></h4>
<p>This is consistent with other signature mismatch errors. Previously a
<h4><codeclass="docutils literal notranslate"><spanclass="pre">set_tick_params(label1On=False)</span></code> now also makes the offset text (if any) invisible<aclass="headerlink" href="#set-tick-params-label1on-false-now-also-makes-the-offset-text-if-any-invisible" title="Permalink to this headline">¶</a></h4>
<p>... because the offset text can rarely be interpreted without tick labels
<h4><aclass="reference internal" href="font_manager_api.html#matplotlib.font_manager.json_dump" title="matplotlib.font_manager.json_dump"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">font_manager.json_dump</span></code></a> now locks the font manager dump file<aclass="headerlink" href="#font-manager-json-dump-now-locks-the-font-manager-dump-file" title="Permalink to this headline">¶</a></h4>
<p>... to prevent multiple processes from writing to it at the same time.</p>
<h4><aclass="reference internal" href="_as_gen/matplotlib.pyplot.rgrids.html#matplotlib.pyplot.rgrids" title="matplotlib.pyplot.rgrids"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.rgrids</span></code></a> and <aclass="reference internal" href="_as_gen/matplotlib.pyplot.thetagrids.html#matplotlib.pyplot.thetagrids" title="matplotlib.pyplot.thetagrids"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.thetagrids</span></code></a> now act as setters also when called with only kwargs<aclass="headerlink" href="#pyplot-rgrids-and-pyplot-thetagrids-now-act-as-setters-also-when-called-with-only-kwargs" title="Permalink to this headline">¶</a></h4>
<p>Previously, keyword arguments were silently ignored when no positional
<aclass="reference internal" href="_as_gen/mpl_toolkits.mplot3d.axes3d.Axes3D.html#mpl_toolkits.mplot3d.axes3d.Axes3D.get_zmajorticklabels" title="mpl_toolkits.mplot3d.axes3d.Axes3D.get_zmajorticklabels"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">get_zmajorticklabels</span></code></a> methods will be affected by this change.</p>
<h4>Default slider formatter<aclass="headerlink" href="#default-slider-formatter" title="Permalink to this headline">¶</a></h4>
<p>The default method used to format <aclass="reference internal" href="widgets_api.html#matplotlib.widgets.Slider" title="matplotlib.widgets.Slider"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Slider</span></code></a> values has been changed to use a
<aclass="reference internal" href="ticker_api.html#matplotlib.ticker.ScalarFormatter" title="matplotlib.ticker.ScalarFormatter"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">ScalarFormatter</span></code></a> adapted the slider values limits. This should ensure that
values are displayed with an appropriate number of significant digits even if
they are much smaller or much bigger than 1. To restore the old behavior,
explicitly pass a "%1.2f" as the <em>valfmt</em> parameter to <aclass="reference internal" href="widgets_api.html#matplotlib.widgets.Slider" title="matplotlib.widgets.Slider"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Slider</span></code></a>.</p>
<h4>Add <em>normalize</em> keyword argument to <codeclass="docutils literal notranslate"><spanclass="pre">Axes.pie</span></code><aclass="headerlink" href="#add-normalize-keyword-argument-to-axes-pie" title="Permalink to this headline">¶</a></h4>
<p><codeclass="docutils literal notranslate"><spanclass="pre">pie()</span></code> used to draw a partial pie if the sum of the values was < 1. This behavior
is deprecated and will change to always normalizing the values to a full pie by default.
If you want to draw a partial pie, please pass <codeclass="docutils literal notranslate"><spanclass="pre">normalize=False</span></code> explicitly.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">table.CustomCell</span></code> is now an alias for <aclass="reference internal" href="table_api.html#matplotlib.table.Cell" title="matplotlib.table.Cell"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">table.Cell</span></code></a><aclass="headerlink" href="#table-customcell-is-now-an-alias-for-table-cell" title="Permalink to this headline">¶</a></h4>
<p>All the functionality of <codeclass="docutils literal notranslate"><spanclass="pre">CustomCell</span></code> has been moved to its base class
<h4>"step"-type histograms default to the zorder of <aclass="reference internal" href="_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D" title="matplotlib.lines.Line2D"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Line2D</span></code></a><aclass="headerlink" href="#step-type-histograms-default-to-the-zorder-of-line2d" title="Permalink to this headline">¶</a></h4>
<p>This ensures that they go above gridlines by default. The old <codeclass="docutils literal notranslate"><spanclass="pre">zorder</span></code> can
be kept by passing it as a keyword argument to <aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.hist.html#matplotlib.axes.Axes.hist" title="matplotlib.axes.Axes.hist"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.hist</span></code></a>.</p>
<aclass="reference internal" href="offsetbox_api.html#matplotlib.offsetbox.AnnotationBbox" title="matplotlib.offsetbox.AnnotationBbox"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">AnnotationBbox</span></code></a>) no longer directly keep track of the visibility of their
underlying <aclass="reference internal" href="_as_gen/matplotlib.patches.Patch.html#matplotlib.patches.Patch" title="matplotlib.patches.Patch"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Patch</span></code></a> artist, but instead pass that flag down to the <aclass="reference internal" href="_as_gen/matplotlib.patches.Patch.html#matplotlib.patches.Patch" title="matplotlib.patches.Patch"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Patch</span></code></a>.</p>
<h4><aclass="reference internal" href="legend_api.html#matplotlib.legend.Legend" title="matplotlib.legend.Legend"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Legend</span></code></a> and <aclass="reference internal" href="table_api.html#matplotlib.table.Table" title="matplotlib.table.Table"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Table</span></code></a> no longer allow invalid locations<aclass="headerlink" href="#legend-and-table-no-longer-allow-invalid-locations" title="Permalink to this headline">¶</a></h4>
<p>This affects legends produced on an Axes (<aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.legend.html#matplotlib.axes.Axes.legend" title="matplotlib.axes.Axes.legend"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.legend</span></code></a> and <aclass="reference internal" href="_as_gen/matplotlib.pyplot.legend.html#matplotlib.pyplot.legend" title="matplotlib.pyplot.legend"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.legend</span></code></a>)
and on a Figure (<aclass="reference internal" href="_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.legend" title="matplotlib.figure.Figure.legend"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Figure.legend</span></code></a> and <aclass="reference internal" href="_as_gen/matplotlib.pyplot.figlegend.html#matplotlib.pyplot.figlegend" title="matplotlib.pyplot.figlegend"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">pyplot.figlegend</span></code></a>). Figure legends also
no longer accept the unsupported <codeclass="docutils literal notranslate"><spanclass="pre">'best'</span></code> location. Previously, invalid Axes
locations would use <codeclass="docutils literal notranslate"><spanclass="pre">'best'</span></code> and invalid Figure locations would used <codeclass="docutils literal notranslate"><spanclass="pre">'upper</span>
<h4>Passing Line2D's <em>drawstyle</em> together with <em>linestyle</em> is removed<aclass="headerlink" href="#passing-line2d-s-drawstyle-together-with-linestyle-is-removed" title="Permalink to this headline">¶</a></h4>
<p>Instead of <codeclass="docutils literal notranslate"><spanclass="pre">plt.plot(...,</span><spanclass="pre">linestyle="steps--")</span></code>, use <codeclass="docutils literal notranslate"><spanclass="pre">plt.plot(...,</span>
<spanclass="pre">linestyle="--",</span><spanclass="pre">drawstyle="steps")</span></code>. <codeclass="docutils literal notranslate"><spanclass="pre">ds</span></code> is also an alias for
<h4>tight/constrained_layout no longer worry about titles that are too wide<aclass="headerlink" href="#tight-constrained-layout-no-longer-worry-about-titles-that-are-too-wide" title="Permalink to this headline">¶</a></h4>
<p><em>tight_layout</em> and <em>constrained_layout</em> shrink axes to accommodate
"decorations" on the axes. However, if an xlabel or title is too long in the
x direction, making the axes smaller in the x-direction doesn't help. The
behavior of both has been changed to ignore the width of the title and
xlabel and the height of the ylabel in the layout logic.</p>
<p>This also means there is a new keyword argument for <aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.get_tightbbox.html#matplotlib.axes.Axes.get_tightbbox" title="matplotlib.axes.Axes.get_tightbbox"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">axes.Axes.get_tightbbox</span></code></a>
and <aclass="reference internal" href="_as_gen/matplotlib.axis.Axis.get_tightbbox.html#matplotlib.axis.Axis.get_tightbbox" title="matplotlib.axis.Axis.get_tightbbox"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">axis.Axis.get_tightbbox</span></code></a>: <codeclass="docutils literal notranslate"><spanclass="pre">for_layout_only</span></code>, which defaults to <em>False</em>,
but if <em>True</em> returns a bounding box using the rules above.</p>
<h4><codeclass="docutils literal notranslate"><aclass="reference external" href="../tutorials/introductory/customizing.html?highlight=savefig.facecolor#a-sample-matplotlibrc-file"><spanclass="pre">rcParams["savefig.facecolor"]</span></a></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">'auto'</span></code>) and <codeclass="docutils literal notranslate"><aclass="reference external" href="../tutorials/introductory/customizing.html?highlight=savefig.edgecolor#a-sample-matplotlibrc-file"><spanclass="pre">rcParams["savefig.edgecolor"]</span></a></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">'auto'</span></code>) now default to "auto"<aclass="headerlink" href="#rcparams-savefig-facecolor-default-auto-and-rcparams-savefig-edgecolor-default-auto-now-default-to-auto" title="Permalink to this headline">¶</a></h4>
<p>This newly allowed value for <codeclass="docutils literal notranslate"><aclass="reference external" href="../tutorials/introductory/customizing.html?highlight=savefig.facecolor#a-sample-matplotlibrc-file"><spanclass="pre">rcParams["savefig.facecolor"]</span></a></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">'auto'</span></code>) and <codeclass="docutils literal notranslate"><aclass="reference external" href="../tutorials/introductory/customizing.html?highlight=savefig.edgecolor#a-sample-matplotlibrc-file"><spanclass="pre">rcParams["savefig.edgecolor"]</span></a></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">'auto'</span></code>),
as well as the <em>facecolor</em> and <em>edgecolor</em> parameters to <aclass="reference internal" href="_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.savefig" title="matplotlib.figure.Figure.savefig"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Figure.savefig</span></code></a>, means
"use whatever facecolor and edgecolor the figure current has".</p>
<h4>When using a single dataset, <aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.hist.html#matplotlib.axes.Axes.hist" title="matplotlib.axes.Axes.hist"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.hist</span></code></a> no longer wraps the added artist in a <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.silent_list" title="matplotlib.cbook.silent_list"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">silent_list</span></code></a><aclass="headerlink" href="#when-using-a-single-dataset-axes-hist-no-longer-wraps-the-added-artist-in-a-silent-list" title="Permalink to this headline">¶</a></h4>
<p>When <aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.hist.html#matplotlib.axes.Axes.hist" title="matplotlib.axes.Axes.hist"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.hist</span></code></a> is called with a single dataset, it adds to the axes either
a <aclass="reference internal" href="container_api.html#matplotlib.container.BarContainer" title="matplotlib.container.BarContainer"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">BarContainer</span></code></a> object (when <codeclass="docutils literal notranslate"><spanclass="pre">histtype="bar"</span></code> or <codeclass="docutils literal notranslate"><spanclass="pre">"barstacked"</span></code>), or a
being wrapped in a list-of-one-element. Previously, either artist would be
wrapped in a <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.silent_list" title="matplotlib.cbook.silent_list"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">silent_list</span></code></a>. This is no longer the case: the <aclass="reference internal" href="container_api.html#matplotlib.container.BarContainer" title="matplotlib.container.BarContainer"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">BarContainer</span></code></a> is
now returned as is (this is an API breaking change if you were directly relying
on the concrete <aclass="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.8)"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">list</span></code></a> API; however, <aclass="reference internal" href="container_api.html#matplotlib.container.BarContainer" title="matplotlib.container.BarContainer"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">BarContainer</span></code></a> inherits from <aclass="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.8)"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">tuple</span></code></a> so
most common operations remain available), and the list-of-one <aclass="reference internal" href="_as_gen/matplotlib.patches.Polygon.html#matplotlib.patches.Polygon" title="matplotlib.patches.Polygon"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Polygon</span></code></a> is
returned as is. This makes the <aclass="reference external" href="https://docs.python.org/3/library/functions.html#repr" title="(in Python v3.8)"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">repr</span></code></a> of the returned artist more accurate: it
<p>When <aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.hist.html#matplotlib.axes.Axes.hist" title="matplotlib.axes.Axes.hist"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.hist</span></code></a> is called with multiple artists, it still wraps its return
value in a <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.silent_list" title="matplotlib.cbook.silent_list"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">silent_list</span></code></a>, but uses more accurate type information</p>
<h4>Qt and wx backends no longer create a status bar by default<aclass="headerlink" href="#qt-and-wx-backends-no-longer-create-a-status-bar-by-default" title="Permalink to this headline">¶</a></h4>
<p>The coordinates information is now displayed in the toolbar, consistently with
the other backends. This is intended to simplify embedding of Matplotlib in
larger GUIs, where Matplotlib may control the toolbar but not the status bar.</p>
<h4><aclass="reference internal" href="cbook_api.html#matplotlib.cbook.get_sample_data" title="matplotlib.cbook.get_sample_data"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.get_sample_data</span></code></a> auto-loads numpy arrays<aclass="headerlink" href="#cbook-get-sample-data-auto-loads-numpy-arrays" title="Permalink to this headline">¶</a></h4>
<p>When <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.get_sample_data" title="matplotlib.cbook.get_sample_data"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.get_sample_data</span></code></a> is used to load a npy or npz file and the
keyword-only parameter <codeclass="docutils literal notranslate"><spanclass="pre">np_load</span></code> is True, the file is automatically loaded
using <aclass="reference external" href="https://numpy.org/doc/stable/reference/generated/numpy.load.html#numpy.load" title="(in NumPy v1.19)"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">numpy.load</span></code></a>. <codeclass="docutils literal notranslate"><spanclass="pre">np_load</span></code> defaults to False for backwards compatibility,
<h4><codeclass="docutils literal notranslate"><spanclass="pre">get_text_width_height_descent</span></code> now checks <codeclass="docutils literal notranslate"><spanclass="pre">ismath</span></code> rather than <codeclass="docutils literal notranslate"><aclass="reference external" href="../tutorials/introductory/customizing.html?highlight=text.usetex#a-sample-matplotlibrc-file"><spanclass="pre">rcParams["text.usetex"]</span></a></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">False</span></code>)<aclass="headerlink" href="#get-text-width-height-descent-now-checks-ismath-rather-than-rcparams-text-usetex-default-false" title="Permalink to this headline">¶</a></h4>
<p>... to determine whether a string should be passed to the usetex machinery or
not. This allows single strings to be marked as not-usetex even when the
<p>The <em>colors</em> parameter will now default to <codeclass="docutils literal notranslate"><aclass="reference external" href="../tutorials/introductory/customizing.html?highlight=lines.color#a-sample-matplotlibrc-file"><spanclass="pre">rcParams["lines.color"]</span></a></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">'C0'</span></code>), while previously it defaulted to 'k'.</p>
<h4>Aggressively autoscale clim in <codeclass="docutils literal notranslate"><spanclass="pre">ScalerMappable</span></code> classes<aclass="headerlink" href="#aggressively-autoscale-clim-in-scalermappable-classes" title="Permalink to this headline">¶</a></h4>
<p>Previously some plotting methods would defer autoscaling until the
first draw if only one of the <em>vmin</em> or <em>vmax</em> keyword arguments were
<aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.pcolorfast.html#matplotlib.axes.Axes.pcolorfast" title="matplotlib.axes.Axes.pcolorfast"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.pcolorfast</span></code></a>) but would scale based on the passed data if
neither was passed (independent of the <em>norm</em> keyword arguments).
<h4><codeclass="docutils literal notranslate"><spanclass="pre">figure.add_axes()</span></code> without arguments<aclass="headerlink" href="#figure-add-axes-without-arguments" title="Permalink to this headline">¶</a></h4>
<p>Calling <codeclass="docutils literal notranslate"><spanclass="pre">fig.add_axes()</span></code> with no arguments currently does nothing. This call
will raise an error in the future. Adding a free-floating axes needs a position
rectangle. If you want a figure-filling single axes, use <codeclass="docutils literal notranslate"><spanclass="pre">add_subplot()</span></code>
instead.</p>
</div>
<divclass="section" id="backend-wx-debug-msg">
<h4><codeclass="docutils literal notranslate"><spanclass="pre">backend_wx.DEBUG_MSG</span></code><aclass="headerlink" href="#backend-wx-debug-msg" title="Permalink to this headline">¶</a></h4>
<p><codeclass="docutils literal notranslate"><spanclass="pre">backend_wx.DEBUG_MSG</span></code> is deprecated. The wx backends now use regular
logging.</p>
</div>
<divclass="section" id="colorbar-config-axis">
<h4><codeclass="docutils literal notranslate"><spanclass="pre">Colorbar.config_axis()</span></code><aclass="headerlink" href="#colorbar-config-axis" title="Permalink to this headline">¶</a></h4>
<p><codeclass="docutils literal notranslate"><spanclass="pre">Colorbar.config_axis()</span></code> is considered internal. Its use is deprecated.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">NonUniformImage.is_grayscale</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">PcolorImage.is_grayscale</span></code><aclass="headerlink" href="#nonuniformimage-is-grayscale-and-pcolorimage-is-grayscale" title="Permalink to this headline">¶</a></h4>
<p>These attributes are deprecated, for consistency with <codeclass="docutils literal notranslate"><spanclass="pre">AxesImage.is_grayscale</span></code>,
which was removed back in Matplotlib 2.0.0. (Note that previously, these
attributes were only available <em>after rendering the image</em>).</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">den</span></code> parameter and attribute to <aclass="reference internal" href="_as_gen/mpl_toolkits.axisartist.angle_helper.html#module-mpl_toolkits.axisartist.angle_helper" title="mpl_toolkits.axisartist.angle_helper"><codeclass="xref py py-mod docutils literal notranslate"><spanclass="pre">mpl_toolkits.axisartist.angle_helper</span></code></a><aclass="headerlink" href="#den-parameter-and-attribute-to-mpl-toolkits-axisartist-angle-helper" title="Permalink to this headline">¶</a></h4>
<p>For all locator classes defined in <aclass="reference internal" href="_as_gen/mpl_toolkits.axisartist.angle_helper.html#module-mpl_toolkits.axisartist.angle_helper" title="mpl_toolkits.axisartist.angle_helper"><codeclass="xref py py-mod docutils literal notranslate"><spanclass="pre">mpl_toolkits.axisartist.angle_helper</span></code></a>,
the <codeclass="docutils literal notranslate"><spanclass="pre">den</span></code> parameter has been renamed to <codeclass="docutils literal notranslate"><spanclass="pre">nbins</span></code>, and the <codeclass="docutils literal notranslate"><spanclass="pre">den</span></code> attribute
deprecated in favor of its (preexisting) synonym <codeclass="docutils literal notranslate"><spanclass="pre">nbins</span></code>, for consistency
with locator classes defined in <aclass="reference internal" href="ticker_api.html#module-matplotlib.ticker" title="matplotlib.ticker"><codeclass="xref py py-mod docutils literal notranslate"><spanclass="pre">matplotlib.ticker</span></code></a>.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">backend_pgf.LatexManager.latex_stdin_utf8</span></code><aclass="headerlink" href="#backend-pgf-latexmanager-latex-stdin-utf8" title="Permalink to this headline">¶</a></h4>
<p><codeclass="docutils literal notranslate"><spanclass="pre">backend_pgf.LatexManager.latex</span></code> is now created with <codeclass="docutils literal notranslate"><spanclass="pre">encoding="utf-8"</span></code>, so
its <codeclass="docutils literal notranslate"><spanclass="pre">stdin</span></code> attribute is already utf8-encoded; the <codeclass="docutils literal notranslate"><spanclass="pre">latex_stdin_utf8</span></code>
<h4>Flags containing "U" passed to <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.to_filehandle" title="matplotlib.cbook.to_filehandle"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.to_filehandle</span></code></a> and <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.open_file_cm" title="matplotlib.cbook.open_file_cm"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.open_file_cm</span></code></a><aclass="headerlink" href="#flags-containing-u-passed-to-cbook-to-filehandle-and-cbook-open-file-cm" title="Permalink to this headline">¶</a></h4>
<p>Please remove "U" from flags passed to <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.to_filehandle" title="matplotlib.cbook.to_filehandle"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.to_filehandle</span></code></a> and
<aclass="reference internal" href="cbook_api.html#matplotlib.cbook.open_file_cm" title="matplotlib.cbook.open_file_cm"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.open_file_cm</span></code></a>. This is consistent with their removal from <aclass="reference external" href="https://docs.python.org/3/library/functions.html#open" title="(in Python v3.8)"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">open</span></code></a> in
<h4>PDF and PS character tracking internals<aclass="headerlink" href="#pdf-and-ps-character-tracking-internals" title="Permalink to this headline">¶</a></h4>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">used_characters</span></code> attribute and <codeclass="docutils literal notranslate"><spanclass="pre">track_characters</span></code> and
<h4>Case-insensitive capstyles and joinstyles<aclass="headerlink" href="#case-insensitive-capstyles-and-joinstyles" title="Permalink to this headline">¶</a></h4>
<p>Please pass capstyles ("miter", "round", "bevel") and joinstyles ("butt",
"round", "projecting") as lowercase.</p>
<h4>Passing raw data to <codeclass="docutils literal notranslate"><spanclass="pre">register_cmap()</span></code><aclass="headerlink" href="#passing-raw-data-to-register-cmap" title="Permalink to this headline">¶</a></h4>
<p>Passing raw data via parameters <em>data</em> and <em>lut</em> to <aclass="reference internal" href="cm_api.html#matplotlib.cm.register_cmap" title="matplotlib.cm.register_cmap"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">register_cmap()</span></code></a> is
deprecated. Instead, explicitly create a <aclass="reference internal" href="_as_gen/matplotlib.colors.LinearSegmentedColormap.html#matplotlib.colors.LinearSegmentedColormap" title="matplotlib.colors.LinearSegmentedColormap"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">LinearSegmentedColormap</span></code></a> and pass
<h4><codeclass="docutils literal notranslate"><spanclass="pre">DateFormatter.illegal_s</span></code><aclass="headerlink" href="#dateformatter-illegal-s" title="Permalink to this headline">¶</a></h4>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">widgets.TextBox.params_to_disable</span></code><aclass="headerlink" href="#widgets-textbox-params-to-disable" title="Permalink to this headline">¶</a></h4>
<h4>Revert deprecation *min, *max keyword arguments to <codeclass="docutils literal notranslate"><spanclass="pre">set_x/y/zlim_3d()</span></code><aclass="headerlink" href="#revert-deprecation-min-max-keyword-arguments-to-set-x-y-zlim-3d" title="Permalink to this headline">¶</a></h4>
<p>These keyword arguments were deprecated in 3.0, alongside with the respective
parameters in <codeclass="docutils literal notranslate"><spanclass="pre">set_xlim()</span></code> / <codeclass="docutils literal notranslate"><spanclass="pre">set_ylim()</span></code>. The deprecations of the 2D
versions were already reverted in in 3.1.</p>
</div>
<divclass="section" id="cbook-local-over-kwdict">
<h4><codeclass="docutils literal notranslate"><spanclass="pre">cbook.local_over_kwdict</span></code><aclass="headerlink" href="#cbook-local-over-kwdict" title="Permalink to this headline">¶</a></h4>
<p>This function is deprecated. Use <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.normalize_kwargs" title="matplotlib.cbook.normalize_kwargs"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.normalize_kwargs</span></code></a> instead.</p>
<h4>Passing both singular and plural <em>colors</em>, <em>linewidths</em>, <em>linestyles</em> to <aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.eventplot.html#matplotlib.axes.Axes.eventplot" title="matplotlib.axes.Axes.eventplot"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.eventplot</span></code></a><aclass="headerlink" href="#passing-both-singular-and-plural-colors-linewidths-linestyles-to-axes-eventplot" title="Permalink to this headline">¶</a></h4>
<p>Passing e.g. both <em>linewidth</em> and <em>linewidths</em> will raise a TypeError in the
<h4>Parameters <em>norm</em> and <em>vmin</em>/<em>vmax</em> should not be used simultaneously<aclass="headerlink" href="#parameters-norm-and-vmin-vmax-should-not-be-used-simultaneously" title="Permalink to this headline">¶</a></h4>
<p>Passing parameters <em>norm</em> and <em>vmin</em>/<em>vmax</em> simultaneously to functions using
colormapping such as <codeclass="docutils literal notranslate"><spanclass="pre">scatter()</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">imshow()</span></code> is deprecated.
Inestead of <codeclass="docutils literal notranslate"><spanclass="pre">norm=LogNorm(),</span><spanclass="pre">vmin=min_val,</span><spanclass="pre">vmax=max_val</span></code> pass
<codeclass="docutils literal notranslate"><spanclass="pre">norm=LogNorm(min_val,</span><spanclass="pre">max_val)</span></code>. <em>vmin</em> and <em>vmax</em> should only be used
<h4>Effectless parameters of <aclass="reference internal" href="_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.colorbar" title="matplotlib.figure.Figure.colorbar"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Figure.colorbar</span></code></a> and <aclass="reference internal" href="colorbar_api.html#matplotlib.colorbar.Colorbar" title="matplotlib.colorbar.Colorbar"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">matplotlib.colorbar.Colorbar</span></code></a><aclass="headerlink" href="#effectless-parameters-of-figure-colorbar-and-matplotlib-colorbar-colorbar" title="Permalink to this headline">¶</a></h4>
<p>The <em>cmap</em> and <em>norm</em> parameters of <aclass="reference internal" href="_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.colorbar" title="matplotlib.figure.Figure.colorbar"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Figure.colorbar</span></code></a> and
<aclass="reference internal" href="colorbar_api.html#matplotlib.colorbar.Colorbar" title="matplotlib.colorbar.Colorbar"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">matplotlib.colorbar.Colorbar</span></code></a> have no effect because they are always
overridden by the mappable's colormap and norm; they are thus deprecated.
Likewise, passing the <em>alpha</em>, <em>boundaries</em>, <em>values</em>, <em>extend</em>, or <em>filled</em>
parameters with a <aclass="reference internal" href="contour_api.html#matplotlib.contour.ContourSet" title="matplotlib.contour.ContourSet"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">ContourSet</span></code></a> mappable, or the <em>alpha</em> parameter with an
<aclass="reference internal" href="artist_api.html#matplotlib.artist.Artist" title="matplotlib.artist.Artist"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Artist</span></code></a> mappable, is deprecated, as the mappable would likewise override
<h4><codeclass="docutils literal notranslate"><spanclass="pre">Axes.update_datalim_bounds</span></code><aclass="headerlink" href="#axes-update-datalim-bounds" title="Permalink to this headline">¶</a></h4>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">{,Symmetrical}LogScale.{,Inverted}LogTransform</span></code><aclass="headerlink" href="#symmetrical-logscale-inverted-logtransform" title="Permalink to this headline">¶</a></h4>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">TexManager.cachedir</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">TexManager.rgba_arrayd</span></code><aclass="headerlink" href="#texmanager-cachedir-texmanager-rgba-arrayd" title="Permalink to this headline">¶</a></h4>
<p>Use <aclass="reference internal" href="matplotlib_configuration_api.html#matplotlib.get_cachedir" title="matplotlib.get_cachedir"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">matplotlib.get_cachedir()</span></code></a> instead for the former; there is no replacement
<h4>Setting <aclass="reference internal" href="_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D" title="matplotlib.lines.Line2D"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Line2D</span></code></a>'s pickradius via <aclass="reference internal" href="_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D.set_picker" title="matplotlib.lines.Line2D.set_picker"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Line2D.set_picker</span></code></a><aclass="headerlink" href="#setting-line2d-s-pickradius-via-line2d-set-picker" title="Permalink to this headline">¶</a></h4>
<p>Setting a <aclass="reference internal" href="_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D" title="matplotlib.lines.Line2D"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Line2D</span></code></a>'s pickradius (i.e. the tolerance for pick events
and containment checks) via <aclass="reference internal" href="_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D.set_picker" title="matplotlib.lines.Line2D.set_picker"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Line2D.set_picker</span></code></a> is deprecated. Use
<h4><aclass="reference internal" href="colorbar_api.html#matplotlib.colorbar.Colorbar" title="matplotlib.colorbar.Colorbar"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Colorbar</span></code></a> methods<aclass="headerlink" href="#colorbar-methods" title="Permalink to this headline">¶</a></h4>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">on_mappable_changed</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">update_bruteforce</span></code> methods of
<aclass="reference internal" href="colorbar_api.html#matplotlib.colorbar.Colorbar" title="matplotlib.colorbar.Colorbar"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Colorbar</span></code></a> are deprecated; both can be replaced by calls
to <aclass="reference internal" href="colorbar_api.html#matplotlib.colorbar.Colorbar.update_normal" title="matplotlib.colorbar.Colorbar.update_normal"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">update_normal</span></code></a>.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">OldScalarFormatter</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">IndexFormatter</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">DateIndexFormatter</span></code><aclass="headerlink" href="#oldscalarformatter-indexformatter-and-dateindexformatter" title="Permalink to this headline">¶</a></h4>
<p>These formatters are deprecated. Their functionality can be implemented using
e.g. <aclass="reference internal" href="ticker_api.html#matplotlib.ticker.FuncFormatter" title="matplotlib.ticker.FuncFormatter"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FuncFormatter</span></code></a>.</p>
</div>
<divclass="section" id="oldautolocator">
<h4><codeclass="docutils literal notranslate"><spanclass="pre">OldAutoLocator</span></code><aclass="headerlink" href="#oldautolocator" title="Permalink to this headline">¶</a></h4>
<h4><em>required</em>, <em>forbidden</em> and <em>allowed</em> parameters of <aclass="reference internal" href="cbook_api.html#matplotlib.cbook.normalize_kwargs" title="matplotlib.cbook.normalize_kwargs"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">cbook.normalize_kwargs</span></code></a><aclass="headerlink" href="#required-forbidden-and-allowed-parameters-of-cbook-normalize-kwargs" title="Permalink to this headline">¶</a></h4>
<h4>The <codeclass="docutils literal notranslate"><spanclass="pre">TTFPATH</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">AFMPATH</span></code> environment variables<aclass="headerlink" href="#the-ttfpath-and-afmpath-environment-variables" title="Permalink to this headline">¶</a></h4>
<p>Support for the (undocumented) <codeclass="docutils literal notranslate"><spanclass="pre">TTFPATH</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">AFMPATH</span></code> environment
variables is deprecated. Additional fonts may be registered using
<h4><codeclass="docutils literal notranslate"><spanclass="pre">matplotlib.compat</span></code><aclass="headerlink" href="#matplotlib-compat" title="Permalink to this headline">¶</a></h4>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">matplotlib.backends.qt_editor.formsubplottool</span></code><aclass="headerlink" href="#matplotlib-backends-qt-editor-formsubplottool" title="Permalink to this headline">¶</a></h4>
<p>This module is deprecated. Use <codeclass="docutils literal notranslate"><spanclass="pre">matplotlib.backends.backend_qt5.SubplotToolQt</span></code>
<h4>AVConv animation writer deprecated<aclass="headerlink" href="#avconv-animation-writer-deprecated" title="Permalink to this headline">¶</a></h4>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">AVConvBase</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">AVConvWriter</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">AVConvFileWriter</span></code> classes, and the
associated <codeclass="docutils literal notranslate"><spanclass="pre">animation.avconv_path</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">animation.avconv_args</span></code> rcParams are
deprecated.</p>
<p>Debian 8 (2015, EOL 06/2020) and Ubuntu 14.04 (EOL 04/2019) were the
last versions of Debian and Ubuntu to ship avconv. It remains possible
to force the use of avconv by using the ffmpeg-based writers with
<codeclass="docutils literal notranslate"><aclass="reference external" href="../tutorials/introductory/customizing.html?highlight=animation.ffmpeg_path#a-sample-matplotlibrc-file"><spanclass="pre">rcParams["animation.ffmpeg_path"]</span></a></code> (default: <codeclass="docutils literal notranslate"><spanclass="pre">'ffmpeg'</span></code>) set to "avconv".</p>
<h4>log/symlog scale base, ticks, and nonpos specification<aclass="headerlink" href="#log-symlog-scale-base-ticks-and-nonpos-specification" title="Permalink to this headline">¶</a></h4>
<aclass="reference internal" href="scale_api.html#matplotlib.scale.SymmetricalLogScale" title="matplotlib.scale.SymmetricalLogScale"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">SymmetricalLogScale</span></code></a> used to take keyword arguments that depends on the axis
orientation ("basex" vs "basey", "subsx" vs "subsy", "nonposx" vs "nonposy");
these parameter names are now deprecated in favor of "base", "subs",
"nonpositive". This deprecation also affects e.g. <codeclass="docutils literal notranslate"><spanclass="pre">ax.set_yscale("log",</span>
<spanclass="pre">basey=...)</span></code> which must now be spelled <codeclass="docutils literal notranslate"><spanclass="pre">ax.set_yscale("log",</span><spanclass="pre">base=...)</span></code>.</p>
<p>The change from "nonpos" to "nonpositive" also affects <aclass="reference internal" href="scale_api.html#matplotlib.scale.LogTransform" title="matplotlib.scale.LogTransform"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">LogTransform</span></code></a>,
<p>To use <em>different</em> bases for the x-axis and y-axis of a <aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.loglog.html#matplotlib.axes.Axes.loglog" title="matplotlib.axes.Axes.loglog"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">loglog</span></code></a> plot,
use e.g. <codeclass="docutils literal notranslate"><spanclass="pre">ax.set_xscale("log",</span><spanclass="pre">base=10);</span><spanclass="pre">ax.set_yscale("log",</span><spanclass="pre">base=2)</span></code>.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">DraggableBase.artist_picker</span></code><aclass="headerlink" href="#draggablebase-artist-picker" title="Permalink to this headline">¶</a></h4>
<p>This method is deprecated. If you previously reimplemented it in a subclass,
set the artist's picker instead with <aclass="reference internal" href="_as_gen/matplotlib.artist.Artist.set_picker.html#matplotlib.artist.Artist.set_picker" title="matplotlib.artist.Artist.set_picker"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Artist.set_picker</span></code></a>.</p>
<h4><em>clear_temp</em> parameter and attribute of <aclass="reference internal" href="_as_gen/matplotlib.animation.FileMovieWriter.html#matplotlib.animation.FileMovieWriter" title="matplotlib.animation.FileMovieWriter"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FileMovieWriter</span></code></a><aclass="headerlink" href="#clear-temp-parameter-and-attribute-of-filemoviewriter" title="Permalink to this headline">¶</a></h4>
<p>The <em>clear_temp</em> parameter and attribute of <aclass="reference internal" href="_as_gen/matplotlib.animation.FileMovieWriter.html#matplotlib.animation.FileMovieWriter" title="matplotlib.animation.FileMovieWriter"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">FileMovieWriter</span></code></a> is
deprecated. In the future, files placed in a temporary directory (using
<codeclass="docutils literal notranslate"><spanclass="pre">frame_prefix=None</span></code>, the default) will be cleared; files placed elsewhere
<h4>Deprecated rcParams validators<aclass="headerlink" href="#deprecated-rcparams-validators" title="Permalink to this headline">¶</a></h4>
<p>The following validators, defined in <aclass="reference internal" href="rcsetup_api.html#module-matplotlib.rcsetup" title="matplotlib.rcsetup"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">rcsetup</span></code></a>, are deprecated:
To test whether an rcParam value would be acceptable, one can test e.g. <codeclass="docutils literal notranslate"><spanclass="pre">rc</span><spanclass="pre">=</span>
<spanclass="pre">RcParams();</span><spanclass="pre">rc[k]</span><spanclass="pre">=</span><spanclass="pre">v</span></code> raises an exception.</p>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">add_subplot()</span></code> validates its inputs<aclass="headerlink" href="#add-subplot-validates-its-inputs" title="Permalink to this headline">¶</a></h4>
<p>In particular, for <codeclass="docutils literal notranslate"><spanclass="pre">add_subplot(rows,</span><spanclass="pre">cols,</span><spanclass="pre">index)</span></code>, all parameters must
be integral. Previously strings and floats were accepted and converted to
int. This will now emit a deprecation warning.</p>
<h4>Toggling axes navigation from the keyboard using "a" and digit keys<aclass="headerlink" href="#toggling-axes-navigation-from-the-keyboard-using-a-and-digit-keys" title="Permalink to this headline">¶</a></h4>
<p>Axes navigation can still be toggled programmatically using
<h4><codeclass="docutils literal notranslate"><spanclass="pre">matplotlib.test(recursionlimit=...)</span></code><aclass="headerlink" href="#matplotlib-test-recursionlimit" title="Permalink to this headline">¶</a></h4>
<p>The <em>recursionlimit</em> parameter of <codeclass="docutils literal notranslate"><spanclass="pre">matplotlib.test</span></code> is deprecated.</p>
</div>
<divclass="section" id="mathtext-glues">
<h4>mathtext glues<aclass="headerlink" href="#mathtext-glues" title="Permalink to this headline">¶</a></h4>
<p>The <em>copy</em> parameter of <codeclass="docutils literal notranslate"><spanclass="pre">mathtext.Glue</span></code> is deprecated (the underlying glue
spec is now immutable). <codeclass="docutils literal notranslate"><spanclass="pre">mathtext.GlueSpec</span></code> is deprecated.</p>
<p>Not passing the <em>renderer</em> parameter to <aclass="reference internal" href="_as_gen/matplotlib.axes.Axes.draw.html#matplotlib.axes.Axes.draw" title="matplotlib.axes.Axes.draw"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.draw</span></code></a> is deprecated. Use
<p>These changes make the signature of the <codeclass="docutils literal notranslate"><spanclass="pre">draw</span></code> (<codeclass="docutils literal notranslate"><spanclass="pre">artist.draw(renderer)</span></code>)
method consistent across all artists; thus, additional parameters to
<h4><codeclass="docutils literal notranslate"><spanclass="pre">DraggableBase.on_motion_blit</span></code><aclass="headerlink" href="#draggablebase-on-motion-blit" title="Permalink to this headline">¶</a></h4>
<p>This method is deprecated. <aclass="reference internal" href="offsetbox_api.html#matplotlib.offsetbox.DraggableBase.on_motion" title="matplotlib.offsetbox.DraggableBase.on_motion"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">DraggableBase.on_motion</span></code></a> now handles both the
<h4>Passing the dash offset as None<aclass="headerlink" href="#passing-the-dash-offset-as-none" title="Permalink to this headline">¶</a></h4>
<p>Fine control of dash patterns can be achieved by passing an <codeclass="docutils literal notranslate"><spanclass="pre">(offset,</span>
<spanclass="pre">(on-length,</span><spanclass="pre">off-length,</span><spanclass="pre">on-length,</span><spanclass="pre">off-length,</span><spanclass="pre">...))</span></code> pair as the linestyle
property of <aclass="reference internal" href="_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D" title="matplotlib.lines.Line2D"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Line2D</span></code></a> and <aclass="reference internal" href="collections_api.html#matplotlib.collections.LineCollection" title="matplotlib.collections.LineCollection"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">LineCollection</span></code></a>. Previously, certain APIs would
accept <codeclass="docutils literal notranslate"><spanclass="pre">offset</span><spanclass="pre">=</span><spanclass="pre">None</span></code> as a synonym for <codeclass="docutils literal notranslate"><spanclass="pre">offset</span><spanclass="pre">=</span><spanclass="pre">0</span></code>, but this was never
universally implemented, e.g. for vector output. Support for <codeclass="docutils literal notranslate"><spanclass="pre">offset</span><spanclass="pre">=</span><spanclass="pre">None</span></code>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">autofmt_xdate(which=None)</span></code><aclass="headerlink" href="#autofmt-xdate-which-none" title="Permalink to this headline">¶</a></h4>
<p>This is deprecated, use its more explicit synonym, <codeclass="docutils literal notranslate"><spanclass="pre">which="major"</span></code>, instead.</p>
</div>
<divclass="section" id="jpeg-options">
<h4>JPEG options<aclass="headerlink" href="#jpeg-options" title="Permalink to this headline">¶</a></h4>
<p>The <em>quality</em>, <em>optimize</em>, and <em>progressive</em> keyword arguments to
<aclass="reference internal" href="_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.savefig" title="matplotlib.figure.Figure.savefig"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">savefig</span></code></a>, which were only used when saving to JPEG, are deprecated.
<h4><codeclass="docutils literal notranslate"><spanclass="pre">dviread.Encoding</span></code><aclass="headerlink" href="#dviread-encoding" title="Permalink to this headline">¶</a></h4>
<p>This class was (mostly) broken and is deprecated.</p>
<h4>Axis and Locator <codeclass="docutils literal notranslate"><spanclass="pre">pan</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">zoom</span></code><aclass="headerlink" href="#axis-and-locator-pan-and-zoom" title="Permalink to this headline">¶</a></h4>
<p>The unused <codeclass="docutils literal notranslate"><spanclass="pre">pan</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">zoom</span></code> methods of <aclass="reference internal" href="axis_api.html#matplotlib.axis.Axis" title="matplotlib.axis.Axis"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axis</span></code></a> and <aclass="reference internal" href="ticker_api.html#matplotlib.ticker.Locator" title="matplotlib.ticker.Locator"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Locator</span></code></a>
are deprecated. Panning and zooming are now implemented using the
<h4>Passing None to various Axes subclass factories<aclass="headerlink" href="#passing-none-to-various-axes-subclass-factories" title="Permalink to this headline">¶</a></h4>
<p>Support for passing <codeclass="docutils literal notranslate"><spanclass="pre">None</span></code> as base class to <aclass="reference internal" href="_as_gen/matplotlib.axes.subplot_class_factory.html#matplotlib.axes.subplot_class_factory" title="matplotlib.axes.subplot_class_factory"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">axes.subplot_class_factory</span></code></a>,
<codeclass="docutils literal notranslate"><spanclass="pre">axes_grid1.parasite_axes.parasite_axes_class_factory</span></code>, and
<codeclass="docutils literal notranslate"><spanclass="pre">axes_grid1.parasite_axes.parasite_axes_auxtrans_class_factory</span></code> is deprecated.
Explicitly pass the correct base <codeclass="docutils literal notranslate"><spanclass="pre">Axes</span></code> class instead.</p>
</div>
<divclass="section" id="axes-rgb">
<h4><codeclass="docutils literal notranslate"><spanclass="pre">axes_rgb</span></code><aclass="headerlink" href="#axes-rgb" title="Permalink to this headline">¶</a></h4>
<h4><codeclass="docutils literal notranslate"><spanclass="pre">Substitution.from_params</span></code><aclass="headerlink" href="#substitution-from-params" title="Permalink to this headline">¶</a></h4>
<p>This method is deprecated. If needed, directly assign to the <codeclass="docutils literal notranslate"><spanclass="pre">params</span></code>
attribute of the Substitution object.</p>
</div>
<divclass="section" id="pgf-backend-cleanups">
<h4>PGF backend cleanups<aclass="headerlink" href="#pgf-backend-cleanups" title="Permalink to this headline">¶</a></h4>
<p>The <em>dummy</em> parameter of <aclass="reference internal" href="backend_pgf_api.html#matplotlib.backends.backend_pgf.RendererPgf" title="matplotlib.backends.backend_pgf.RendererPgf"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">RendererPgf</span></code></a> is deprecated.</p>