<divid="unreleased-message"> You are reading an old version of the documentation (v3.0.3). For the latest version see <ahref="/stable/">https://matplotlib.org/stable/</a></div>
<li><aclass="reference internal" href="#ability-to-scale-axis-by-a-fixed-order-of-magnitude">Ability to scale axis by a fixed order of magnitude</a></li>
<li><aclass="reference internal" href="#add-anchoreddirectionarrows-feature-to-mpl-toolkits">Add <codeclass="docutils literal notranslate"><spanclass="pre">AnchoredDirectionArrows</span></code> feature to mpl_toolkits</a></li>
<li><aclass="reference internal" href="#add-minorticks-on-off-methods-for-colorbar">Add <codeclass="docutils literal notranslate"><spanclass="pre">minorticks_on()/off()</span></code> methods for colorbar</a></li>
<li><aclass="reference internal" href="#colorbar-ticks-can-now-be-automatic">Colorbar ticks can now be automatic</a></li>
<li><aclass="reference internal" href="#legend-now-has-a-title-fontsize-kwarg-and-rcparam">Legend now has a <em>title_fontsize</em> kwarg (and rcParam)</a></li>
<li><aclass="reference internal" href="#support-for-axes-prop-cycle-property-markevery-in-rcparams">Support for axes.prop_cycle property <em>markevery</em> in rcParams</a></li>
<li><aclass="reference internal" href="#multipage-pdf-support-for-pgf-backend">Multipage PDF support for pgf backend</a></li>
<li><aclass="reference internal" href="#pie-charts-are-now-circular-by-default">Pie charts are now circular by default</a></li>
<li><aclass="reference internal" href="#add-ax-get-gridspec-to-subplotbase">Add <codeclass="docutils literal notranslate"><spanclass="pre">ax.get_gridspec</span></code> to <codeclass="docutils literal notranslate"><spanclass="pre">SubplotBase</span></code></a></li>
<li><aclass="reference internal" href="#axes-titles-will-no-longer-overlap-xaxis">Axes titles will no longer overlap xaxis</a></li>
<li><aclass="reference internal" href="#new-convenience-methods-for-gridspec">New convenience methods for GridSpec</a></li>
<li><aclass="reference internal" href="#figure-has-an-add-artist-method">Figure has an <codeclass="docutils literal notranslate"><spanclass="pre">add_artist</span></code> method</a></li>
<spanid="whats-new"></span><h1><aclass="toc-backref" href="#id22">What's new in Matplotlib 3.0.3</a><aclass="headerlink" href="#what-s-new-in-matplotlib-3-0-3" title="Permalink to this headline">¶</a></h1>
<p>For a list of all of the issues and pull requests since the last
revision, see the <aclass="reference internal" href="github_stats.html#github-stats"><spanclass="std std-ref">GitHub Stats</span></a>.</p>
<li><aclass="reference internal" href="#ability-to-scale-axis-by-a-fixed-order-of-magnitude" id="id7">Ability to scale axis by a fixed order of magnitude</a></li>
<li><aclass="reference internal" href="#add-anchoreddirectionarrows-feature-to-mpl-toolkits" id="id8">Add <codeclass="docutils literal notranslate"><spanclass="pre">AnchoredDirectionArrows</span></code> feature to mpl_toolkits</a></li>
<li><aclass="reference internal" href="#add-minorticks-on-off-methods-for-colorbar" id="id9">Add <codeclass="docutils literal notranslate"><spanclass="pre">minorticks_on()/off()</span></code> methods for colorbar</a></li>
<li><aclass="reference internal" href="#colorbar-ticks-can-now-be-automatic" id="id10">Colorbar ticks can now be automatic</a></li>
<li><aclass="reference internal" href="#legend-now-has-a-title-fontsize-kwarg-and-rcparam" id="id12">Legend now has a <em>title_fontsize</em> kwarg (and rcParam)</a></li>
<li><aclass="reference internal" href="#support-for-axes-prop-cycle-property-markevery-in-rcparams" id="id13">Support for axes.prop_cycle property <em>markevery</em> in rcParams</a></li>
<li><aclass="reference internal" href="#multipage-pdf-support-for-pgf-backend" id="id14">Multipage PDF support for pgf backend</a></li>
<li><aclass="reference internal" href="#pie-charts-are-now-circular-by-default" id="id15">Pie charts are now circular by default</a></li>
<h2><aclass="toc-backref" href="#id23">axes_grid1 and axisartist Axes no longer draw spines twice</a><aclass="headerlink" href="#axes-grid1-and-axisartist-axes-no-longer-draw-spines-twice" title="Permalink to this headline">¶</a></h2>
<p>Previously, spines of <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">axes_grid1</span></code> and <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">axisartist</span></code> Axes would be drawn twice,
leading to a "bold" appearance. This is no longer the case.</p>
</div>
</div>
<divclass="section" id="new-in-matplotlib-3-0-0">
<h1><aclass="toc-backref" href="#id24">New in Matplotlib 3.0.0</a><aclass="headerlink" href="#new-in-matplotlib-3-0-0" title="Permalink to this headline">¶</a></h1>
<p>For a list of all of the issues and pull requests since the last
revision, see the <aclass="reference internal" href="prev_whats_new/github_stats_3.0.2.html#github-stats-3-0-2"><spanclass="std std-ref">GitHub Stats for Matplotlib 3.0.2</span></a>.</p>
<divclass="contents topic" id="id1">
<pclass="topic-title first">Table of Contents</p>
<ulclass="simple">
<li><aclass="reference internal" href="#what-s-new-in-matplotlib-3-0-3" id="id22">What's new in Matplotlib 3.0.3</a><ul>
<li><aclass="reference internal" href="#axes-grid1-and-axisartist-axes-no-longer-draw-spines-twice" id="id23">axes_grid1 and axisartist Axes no longer draw spines twice</a></li>
</ul>
</li>
<li><aclass="reference internal" href="#new-in-matplotlib-3-0-0" id="id24">New in Matplotlib 3.0.0</a><ul>
<li><aclass="reference internal" href="#ability-to-scale-axis-by-a-fixed-order-of-magnitude" id="id27">Ability to scale axis by a fixed order of magnitude</a></li>
<li><aclass="reference internal" href="#add-anchoreddirectionarrows-feature-to-mpl-toolkits" id="id28">Add <codeclass="docutils literal notranslate"><spanclass="pre">AnchoredDirectionArrows</span></code> feature to mpl_toolkits</a></li>
<li><aclass="reference internal" href="#add-minorticks-on-off-methods-for-colorbar" id="id29">Add <codeclass="docutils literal notranslate"><spanclass="pre">minorticks_on()/off()</span></code> methods for colorbar</a></li>
<li><aclass="reference internal" href="#colorbar-ticks-can-now-be-automatic" id="id30">Colorbar ticks can now be automatic</a></li>
<li><aclass="reference internal" href="#legend-now-has-a-title-fontsize-kwarg-and-rcparam" id="id32">Legend now has a <em>title_fontsize</em> kwarg (and rcParam)</a></li>
<li><aclass="reference internal" href="#support-for-axes-prop-cycle-property-markevery-in-rcparams" id="id33">Support for axes.prop_cycle property <em>markevery</em> in rcParams</a></li>
<li><aclass="reference internal" href="#multipage-pdf-support-for-pgf-backend" id="id34">Multipage PDF support for pgf backend</a></li>
<li><aclass="reference internal" href="#pie-charts-are-now-circular-by-default" id="id35">Pie charts are now circular by default</a></li>
<h2><aclass="toc-backref" href="#id25">Improved default backend selection</a><aclass="headerlink" href="#improved-default-backend-selection" title="Permalink to this headline">¶</a></h2>
<p>The default backend no longer must be set as part of the build
process. Instead, at run time, the builtin backends are tried in
sequence until one of them imports.</p>
<p>Headless linux servers (identified by the DISPLAY env not being defined)
will not select a GUI backend.</p>
</div>
<divclass="section" id="cyclic-colormaps">
<h2><aclass="toc-backref" href="#id26">Cyclic colormaps</a><aclass="headerlink" href="#cyclic-colormaps" title="Permalink to this headline">¶</a></h2>
<p>Two new colormaps named 'twilight' and 'twilight_shifted' have been
added. These colormaps start and end on the same color, and have two
symmetric halves with equal lightness, but diverging color. Since they
wrap around, they are a good choice for cyclic data such as phase
angles, compass directions, or time of day. Like <em>viridis</em> and
<em>cividis</em>, <em>twilight</em> is perceptually uniform and colorblind friendly.</p>
<h2><aclass="toc-backref" href="#id27">Ability to scale axis by a fixed order of magnitude</a><aclass="headerlink" href="#ability-to-scale-axis-by-a-fixed-order-of-magnitude" title="Permalink to this headline">¶</a></h2>
<p>To scale an axis by a fixed order of magnitude, set the <em>scilimits</em> argument of
<aclass="reference internal" href="../api/_as_gen/matplotlib.axes.Axes.ticklabel_format.html#matplotlib.axes.Axes.ticklabel_format" title="matplotlib.axes.Axes.ticklabel_format"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Axes.ticklabel_format</span></code></a> to the same (non-zero) lower and upper limits. Say to scale
<p>The behavior of <codeclass="docutils literal notranslate"><spanclass="pre">scilimits=(0,</span><spanclass="pre">0)</span></code> is unchanged. With this setting, Matplotlib will adjust
the order of magnitude depending on the axis values, rather than keeping it fixed. Previously, setting
<codeclass="docutils literal notranslate"><spanclass="pre">scilimits=(m,</span><spanclass="pre">m)</span></code> was equivalent to setting <codeclass="docutils literal notranslate"><spanclass="pre">scilimits=(0,</span><spanclass="pre">0)</span></code>.</p>
<h2><aclass="toc-backref" href="#id28">Add <codeclass="docutils literal notranslate"><spanclass="pre">AnchoredDirectionArrows</span></code> feature to mpl_toolkits</a><aclass="headerlink" href="#add-anchoreddirectionarrows-feature-to-mpl-toolkits" title="Permalink to this headline">¶</a></h2>
draws a pair of orthogonal arrows to indicate directions on a 2D plot. A
minimal working example takes in the transformation object for the coordinate
system (typically ax.transAxes), and arrow labels. There are several optional
parameters that can be used to alter layout. For example, the arrow pairs can
be rotated and the color can be changed. By default the labels and arrows have
the same color, but the class may also pass arguments for customizing arrow
and text layout, these are passed to <codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">matplotlib.text.TextPath</span></code> and
<aclass="reference internal" href="../api/_as_gen/matplotlib.patches.FancyArrowPatch.html#matplotlib.patches.FancyArrowPatch" title="matplotlib.patches.FancyArrowPatch"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">matplotlib.patches.FancyArrowPatch</span></code></a>. Location, length and width for both
arrow tail and head can be adjusted, the the direction arrows and labels can
have a frame. Padding and separation parameters can be adjusted.</p>
<h2><aclass="toc-backref" href="#id29">Add <codeclass="docutils literal notranslate"><spanclass="pre">minorticks_on()/off()</span></code> methods for colorbar</a><aclass="headerlink" href="#add-minorticks-on-off-methods-for-colorbar" title="Permalink to this headline">¶</a></h2>
<p>A new method <codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">colorbar.Colobar.minorticks_on()</span></code> has been added
to correctly display minor ticks on a colorbar. This method
doesn't allow the minor ticks to extend into the regions beyond vmin and vmax
when the extend <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">kwarg</span></code> (used while creating the colorbar) is set to 'both',
'max' or 'min'.
A complementary method <codeclass="xref py py-meth docutils literal notranslate"><spanclass="pre">colorbar.Colobar.minorticks_off()</span></code>
has also been added to remove the minor ticks on the colorbar.</p>
<h2><aclass="toc-backref" href="#id30">Colorbar ticks can now be automatic</a><aclass="headerlink" href="#colorbar-ticks-can-now-be-automatic" title="Permalink to this headline">¶</a></h2>
<p>The number of ticks placed on colorbars was previously appropriate for a large
colorbar, but looked bad if the colorbar was made smaller (i.e. via the <codeclass="docutils literal notranslate"><spanclass="pre">shrink</span></code> kwarg).
This has been changed so that the number of ticks is now responsive to how
<h2><aclass="toc-backref" href="#id31">Don't automatically rename duplicate file names</a><aclass="headerlink" href="#don-t-automatically-rename-duplicate-file-names" title="Permalink to this headline">¶</a></h2>
<p>Previously, when saving a figure to a file using the GUI's
save dialog box, if the default filename (based on the
figure window title) already existed on disk, Matplotlib
would append a suffix (e.g. <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Figure_1-1.png</span></code>), preventing
the dialog from prompting to overwrite the file. This
behaviour has been removed. Now if the file name exists on
disk, the user is prompted whether or not to overwrite it.
This eliminates guesswork, and allows intentional
overwriting, especially when the figure name has been
manually set using <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">figure.Figure.canvas.set_window_title()</span></code>.</p>
<h2><aclass="toc-backref" href="#id32">Legend now has a <em>title_fontsize</em> kwarg (and rcParam)</a><aclass="headerlink" href="#legend-now-has-a-title-fontsize-kwarg-and-rcparam" title="Permalink to this headline">¶</a></h2>
<p>The title for a <aclass="reference internal" href="../api/_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="../api/_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> can now have its
fontsize set via the <codeclass="docutils literal notranslate"><spanclass="pre">title_fontsize</span></code> kwarg. There is also a new
<codeclass="docutils literal notranslate"><aclass="reference external" href="../tutorials/introductory/customizing.html#matplotlib-rcparams"><spanclass="pre">rcParams["legend.title_fontsize"]</span></a></code>. Both default to <codeclass="docutils literal notranslate"><spanclass="pre">None</span></code>, which means
the legend title will have the same fontsize as the axes default fontsize
(<em>not</em> the legend fontsize, set by the <codeclass="docutils literal notranslate"><spanclass="pre">fontsize</span></code> kwarg or
<h2><aclass="toc-backref" href="#id33">Support for axes.prop_cycle property <em>markevery</em> in rcParams</a><aclass="headerlink" href="#support-for-axes-prop-cycle-property-markevery-in-rcparams" title="Permalink to this headline">¶</a></h2>
<p>The Matplotlib <codeclass="docutils literal notranslate"><spanclass="pre">rcParams</span></code> settings object now supports configuration
of the attribute <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">axes.prop_cycle</span></code> with cyclers using the <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">markevery</span></code>
Line2D object property. An example of this feature is provided at
<h2><aclass="toc-backref" href="#id34">Multipage PDF support for pgf backend</a><aclass="headerlink" href="#multipage-pdf-support-for-pgf-backend" title="Permalink to this headline">¶</a></h2>
<p>The pgf backend now also supports multipage PDF files.</p>
<h2><aclass="toc-backref" href="#id35">Pie charts are now circular by default</a><aclass="headerlink" href="#pie-charts-are-now-circular-by-default" title="Permalink to this headline">¶</a></h2>
<p>We acknowledge that the majority of people do not like egg-shaped pies.
Therefore, an axes to which a pie chart is plotted will be set to have
equal aspect ratio by default. This ensures that the pie appears circular
independent on the axes size or units. To revert to the previous behaviour
set the axes' aspect ratio to automatic by using <codeclass="docutils literal notranslate"><spanclass="pre">ax.set_aspect("auto")</span></code> or
<h2><aclass="toc-backref" href="#id36">Add <codeclass="docutils literal notranslate"><spanclass="pre">ax.get_gridspec</span></code> to <aclass="reference internal" href="../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="matplotlib.axes.SubplotBase"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">SubplotBase</span></code></a></a><aclass="headerlink" href="#add-ax-get-gridspec-to-subplotbase" title="Permalink to this headline">¶</a></h2>
<p>New method <aclass="reference internal" href="../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase.get_gridspec" title="matplotlib.axes.SubplotBase.get_gridspec"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">SubplotBase.get_gridspec</span></code></a> is added so that users can
easily get the gridspec that went into making an axes:</p>
<h2><aclass="toc-backref" href="#id37">Axes titles will no longer overlap xaxis</a><aclass="headerlink" href="#axes-titles-will-no-longer-overlap-xaxis" title="Permalink to this headline">¶</a></h2>
<p>Previously an axes title had to be moved manually if an xaxis overlapped
(usually when the xaxis was put on the top of the axes). Now, the title
will be automatically moved above the xaxis and its decorators (including
the xlabel) if they are at the top.</p>
<p>If desired, the title can still be placed manually. There is a slight kludge;
the algorithm checks if the y-position of the title is 1.0 (the default),
and moves if it is. If the user places the title in the default location
(i.e. <codeclass="docutils literal notranslate"><spanclass="pre">ax.title.set_position(0.5,</span><spanclass="pre">1.0)</span></code>), the title will still be moved
above the xaxis. If the user wants to avoid this, they can
specify a number that is close (i.e. <codeclass="docutils literal notranslate"><spanclass="pre">ax.title.set_position(0.5,</span><spanclass="pre">1.01)</span></code>)
and the title will not be moved via this algorithm.</p>
<h2><aclass="toc-backref" href="#id38">New convenience methods for GridSpec</a><aclass="headerlink" href="#new-convenience-methods-for-gridspec" title="Permalink to this headline">¶</a></h2>
<p>There are new convenience methods for <aclass="reference internal" href="../api/_as_gen/matplotlib.gridspec.GridSpec.html#matplotlib.gridspec.GridSpec" title="matplotlib.gridspec.GridSpec"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">gridspec.GridSpec</span></code></a> and
<aclass="reference internal" href="../api/_as_gen/matplotlib.gridspec.GridSpecFromSubplotSpec.html#matplotlib.gridspec.GridSpecFromSubplotSpec" title="matplotlib.gridspec.GridSpecFromSubplotSpec"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">gridspec.GridSpecFromSubplotSpec</span></code></a>. Instead of the former we can
now call <aclass="reference internal" href="../api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.add_gridspec" title="matplotlib.figure.Figure.add_gridspec"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">Figure.add_gridspec</span></code></a> and for the latter <aclass="reference internal" href="../api/_as_gen/matplotlib.gridspec.SubplotSpec.html#matplotlib.gridspec.SubplotSpec.subgridspec" title="matplotlib.gridspec.SubplotSpec.subgridspec"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">SubplotSpec.subgridspec</span></code></a>.</p>
<h2><aclass="toc-backref" href="#id39">Figure has an <aclass="reference internal" href="../api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.add_artist" title="matplotlib.figure.Figure.add_artist"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">add_artist</span></code></a> method</a><aclass="headerlink" href="#figure-has-an-add-artist-method" title="Permalink to this headline">¶</a></h2>
<p>A method <aclass="reference internal" href="../api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.add_artist" title="matplotlib.figure.Figure.add_artist"><codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">add_artist</span></code></a> has been added to the
<aclass="reference internal" href="../api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure" title="matplotlib.figure.Figure"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">Figure</span></code></a> class, which allows artists to be added directly
<h2><aclass="toc-backref" href="#id40"><codeclass="docutils literal notranslate"><spanclass="pre">:math:</span></code> directive renamed to <codeclass="docutils literal notranslate"><spanclass="pre">:mathmpl:</span></code></a><aclass="headerlink" href="#math-directive-renamed-to-mathmpl" title="Permalink to this headline">¶</a></h2>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">:math:</span></code> rst role provided by <codeclass="xref py py-obj docutils literal notranslate"><spanclass="pre">matplotlib.sphinxext.mathmpl</span></code> has been
renamed to <codeclass="docutils literal notranslate"><spanclass="pre">:mathmpl:</span></code> to avoid conflicting with the <codeclass="docutils literal notranslate"><spanclass="pre">:math:</span></code> role that
Sphinx 1.8 provides by default. (<codeclass="docutils literal notranslate"><spanclass="pre">:mathmpl:</span></code> uses Matplotlib to render math
expressions to images embedded in html, whereas Sphinx uses MathJax.)</p>
<p>When using Sphinx<1.8, both names (<codeclass="docutils literal notranslate"><spanclass="pre">:math:</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">:mathmpl:</span></code>) remain
available for backcompatibility.</p>
</div>
</div>
<divclass="section" id="previous-whats-new">
<h1><aclass="toc-backref" href="#id41">Previous Whats New</a><aclass="headerlink" href="#previous-whats-new" title="Permalink to this headline">¶</a></h1>
<divclass="toctree-wrapper compound">
<ul>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_2.2.html">New in Matplotlib 2.2</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_2.1.0.html">New in Matplotlib 2.1.0</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_2.0.0.html">New in matplotlib 2.0</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_1.5.html">New in matplotlib 1.5</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_1.4.html">New in matplotlib 1.4</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_1.3.html">New in matplotlib 1.3</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_1.2.2.html">New in matplotlib 1.2.2</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_1.2.html">New in matplotlib 1.2</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_1.1.html">New in matplotlib 1.1</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_1.0.html">New in matplotlib 1.0</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_0.99.html">New in matplotlib 0.99</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/whats_new_0.98.4.html">New in matplotlib 0.98.4</a></li>
<liclass="toctree-l1"><aclass="reference internal" href="prev_whats_new/changelog.html">List of changes to Matplotlib prior to 2015</a></li>