ANN: matplotlib-0.98.0 milestone release

matplotlib 0.98.0 is released



This is a milestone release of matplotlib with a significant internal
refactoring to support better transformations, path drawing, and
readily extensible coordinate projections and scales. Michael
Droettboom of STScI did the lion's share of the work, but a large
number of developers have made many significant contributions. This
is such a significant improvement of the matplotlib code base that we
are jumping from the 0.91 series to the 0.98 series, in anticipation
of rapid progress to 1.0.

Downloads are available at
with binary installers for windows and OS X. Thanks to Charlie Moad
for the builds and release.

See the migration document at,
the API changes at, and the full
CHANGELOG at . You should manually
any old install of site-packages/matplotlib since the new version will
not properly install over it.

We've also done some work on the look and feel of the web site, with a
new logo an a less jarring color scheme, and are in the midst of a
fairly significant
documentation effort, so if you have any interest in writing documentation or
doing website design, join us on the developers list and ash how you can

What's new in matplotlib 0.98

This is also available on the website at

better transformations

In what has been described as open-heart surgery on matplotlib,
Michael Droettboom, supported by STScI, has rewritten the transformation
infrastructure from the ground up, which not only makes the code more
intuitive, it supports custom user projections and scales. See and
the module

proper paths

For the first time, matplotlib supports spine paths across backends,
so you can pretty much draw anything. See the screenshot .
Thanks again to Michael Droettboom and STScI.

histogram enhancements

hist can handle 2D arrays and create side-by-side or stacked
histograms, as well as cumulative filled and unfilled histograms

2D histogram hexbin

2D hexagonal bin histogramming with optional log colorscales:

ginput function

ginput ( is a
blocking function for interactive use to get input from the user. A
long requested feature submitted by Gael Varoquaux. See

image optimizations

Enhancements to speed up color mapping and panning and zooming on dense images

better savefig

savefig ( now
supports save to file handles (great for web app servers) or unicode
filenames on all backends

record array functions

some more helper functions to facilitate work with record arrays: rec_groupby,
rec2txt, and rec_summarize. These are found in matplotlib.mlab

accurate elliptical arcs

In support of the Phoenix mission to Mars, which used matplotlib in
ground tracking of the spacecraft, Michael Droettboom built on work by
Charlie Moad to provide an extremely accurate 8-spline approximation
to elliptical arcs (see the
viewport. This provides a scale free, accurate graph of the arc
regardless of zoom level. See the screenshot and example at

imread enhanced

imread ( now
will use PIL when available to load images and return numpy arrays

backend enhancements

* postscript : the postscript backend has clipping to paths (useful
for polar plots)

* PDF : the PDF backend handles composite glyphs properly, usetex fixes

* SVG : clip to path (useful for polar plots), inkscape cut-and-paste fixes.

* QT : Fixed a duplicate draw bug that slowed performance. Native qt
       toolbars and status bars used for the toolbar controls