ANN: matplotlib-0.81

Win32 Warning: This is the first release I've done since my windows
  build syste dies and I had to reinstall a bunch of tools and some
  version numbers in my GTK build environment changed (eg my GTK
  setup). Let me know if you encounter any problems. As always, try
  removing site-packages/matplotlib and reinstalling before reporting
  any problems

TeX support : Now you can (optionally) use TeX to handle *all* of the
  text elements in your figure with the rc param text.usetex (*Agg and
  PS only). PS support requires tex, dvips and Ghostscript 8.51
  (older versions do not work properly -- test your version with
  'gs --version'). Agg support requires tex and dvipng. A
  directory ~/.tex.cache is created where support files are cached for
  later reuse. We opted to ues TeX rather than LaTeX because it is
  faster and can do all the things we thought useful for figure text
  snippets. See
  and There are
  several new rc params for configuring tex/latex support

    # use tex/latex for all text handling
    text.usetex : False
    # tex is faster, but latex is required to use special font
    # packages. See font.latex.package
    text.tex.engine : latex
    # This must be an available LaTeX font package,
    # like 'times' or 'pslatex' ; only applies if text.usetex
    # is true
    font.latex.package : type1cm

  Special thanks to Darren Dale for lots of hair-pulling work
  customizing, enhancing and debugging the ps backend for LaTeX

Masked arrays: Support for masked arrays in line plots, pcolor and
  contours. There are some problems with filled contours and masked
  arrays. Thanks Eric Firing and Jeffrey Whitaker.

Contour levels arg changes: see
  for details

Byte images: Much faster imaeg loading for MxNx4 or MxNx3 UInt8
  images, which bypasses the memory and CPU intensive integer/floating
  point conversions. Nicolas Girard

New image resize options interpolation options. New values for the
  interp kwarg are
    'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36',
    'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom',
    'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'blackman'

  See help(imshow) for details, particularly the interpolation,
  filternorm and filterrad kwargs.

Text and dashes - Daishi Harada contributed a patch for connecting
  text to points with lines. See examples/ and

Fast markers on win32: The marker cache optimization is finally
  available for win32, after an agg bug was found and fixed (thanks
  Maxim!). Line marker plots should be considerably faster now on

set deprecated: use setp instead; a simple, mostly braindead,
  conversion script is provided below

Qt in ipython/pylab: You can now use qt in ipython pylab mode. Thanks
  Fernando Perez and the Orsay team!

Agg wrapper proper: Started work on a proper agg wrapper to expose
  more general agg functionality in mpl. See examples/
  Lots of wrapping remains to be done.

New scalar formatter: Darren Dale did a lot of work to make scalar
  formatting smarter in pathalogical cases. See

Small features: linewidth and faceted kwarg to scatter to control
  edgewidth and color, autolegending now inspects line segments in
  addition to vertices, upgraded to agg23, new example showing how to
  use line collections examples/, fixed antialiased
  property setting in agg, added a postscript papersize rc option,
  added an example showing how to embed mpl in a qt app
  examples/, arrow keys now exposed in mpl's GUI
  neutral event handling, added "among" kwarg to axes picker function
  to limit picks, added autoscale_on property to Axes to control
  whether or not autoscaling is done.

Bug fixes: fixed a contour masked array bug, contour memory leak

# Here is a script to recursively convert set and get to setp and
# getp. Please backup entire directory recursively before
# running this script

from matplotlib.cbook import listFiles

for fname in listFiles('.', '*.py'):

    lines = []
    cnt = 0
    for line in file(fname):
        if line.lstrip().startswith('set('):
            line = line.replace('set(', 'setp(')
            cnt +=1
        if line.lstrip().startswith('get('):
            line = line.replace('get(', 'getp(')
            cnt +=1
    file(fname, 'w').writelines(lines)
    print '%s\t: %d replacements'%(fname,cnt)