Highlights of this release include:
- Figure and Axes creation / management
subplots
,subplot_mosaic
accept height_ratios and width_ratios arguments- Constrained layout is no longer considered experimental
- New
layout_engine
module - Compressed layout added for fixed-aspect ratio Axes
- Layout engines may now be removed
Axes.inset_axes
flexibility- WebP is now a supported output format
- Garbage collection is no longer run on figure close
- Plotting methods
- Striped lines (experimental)
- Custom cap widths in box and whisker plots in
bxp
andboxplot
- Easier labelling of bars in bar plot
- New style format string for colorbar ticks
- Linestyles for negative contours may be set individually
- Improved quad contour calculations via ContourPy
errorbar
supports markerfacecoloraltstreamplot
can disable streamline breaks- New axis scale
asinh
(experimental) stairs(..., fill=True)
hides patch edge by setting linewidth- Fix the dash offset of the
Patch
class Rectangle
patch rotation point
- Colors and colormaps
- Color sequence registry
- Colormap method for creating a different lookup table size
- Setting norms with strings
- Titles, ticks, and labels
plt.xticks
andplt.yticks
support minor keyword argument
- Legends
- Legend can control alignment of title and handles
- ncol keyword argument to
legend
renamed to ncols
- Markers
marker
can now be set to the string "none"- Customization of
MarkerStyle
join and cap style
- Fonts and Text
- Font fallback
- List of available font names
math_to_image
now has a color keyword argument- Active URL area rotates with link text
- rcParams improvements
- Allow setting figure label size and weight globally and separately from title
- Mathtext parsing can be disabled globally
- Double-quoted strings in matplotlibrc
- 3D Axes improvements
- Standardized views for primary plane viewing angles
- Custom focal length for 3D camera
- 3D plots gained a 3rd "roll" viewing angle
- Equal aspect ratio for 3D plots
- Interactive tool improvements
- Rotation, aspect ratio correction and add/remove state
MultiCursor
now supports Axes split over multiple figuresPolygonSelector
bounding boxes- Setting
PolygonSelector
vertices SpanSelector
widget can now be snapped to specified values- More toolbar icons are styled for dark themes
- Platform-specific changes
- Wx backend uses standard toolbar
- Improvements to macosx backend
- Modifier keys handled more consistently
savefig.directory
rcParam supportfigure.raise_window
rcParam support- Full-screen toggle support
- Improved animation and blitting support
- macOS application icon applied on Qt backend
- New minimum macOS version
- Windows on ARM support