new_to_53 = ( ('Ported image support to numarray', """ The image module now works with Numeric or numarray """), ) new_to_52 = ( ('Image support', """ Basic image support. Images can be specified by Numeric float arrays
     imshow(X)
     If X is MxN, assume luminance (grayscale)
     If X is MxNx3, assume RGB
     If X is MxNx4, assume RGBA

     imshow(X, cmap)  # plot X using colormap; see examples/pcolor_demo2.py
see imshow and the image_demo*.py examples in the matplotlib src distribution. Set BUILD_IMAGE in setup.py for image support. Currently available on Agg, GTKAgg, TkAgg and GTK backends. win32 GTK users should use GTKAgg unless pygtk is compiled with Numeric support. The pseudo-color images generated with imshow are 8 million times faster than pcolor's. """), ('Figure legends', """ In addition to adding legends to the axes with the legend command, you can place legends anywhere in the figure with figlegend """), ('fill command', """ Andrew Straw wrote a fill command to plot filled polygons. See fill_demo.py """), ('specgram command', """ Make 2D spectrograms with specgram. Requires image support; see specgram_demo.py """), ('Bugfixes and minor improvements', """\ """), ) new_to_51 = ( ('Tkinter backend', """Todd Miller has written a Tkinter backend. This is a significant step forward, because now matplotlib works out of the box with any python + numeric. The Tkinter backend works interactively from any python shell - see the interactive documentation. Also, because TkAgg uses the agg backend for rendering, it has all of the features of agg, including fast antialiased rendering, freetype2, alpha blending, mathtext, and so on. See the TkAgg backend. To use the TkAgg backend, you must launch your scripts in interactive mode python -i myscript.py -dTkAgg; otherwise they'll just pop up and disappear.""" ), ('GTKAgg', """GTK widgets with antigrain rendering. See the GTKAgg backend.""" ), ('freetype2 support added for agg backend', """With freetype2, agg now renders fonts nicely even at very small raster sizes.""" ), ('math text', """matplotlib now ships with the BaKoMa TeX Computer Modern fonts, and displays math text using TeX expressions. See screenshot and the mathtext documentation for usage information. Currently available on GTK, Agg, TkAgg and GTKAgg. If you build matplotlib yourself, you need to edit setup.py and set BUILD_FT2FONT"""), ('configuration file', """A configuration file is placed in your install path (distutils.sysconfig.PREFIX + 'share/matplotlib'). This determines many of the default figure properties: the default backend, line properties, text properties, colors, and more. See .matplotlibrc for an example configuration file. Place this in your home dir (linux and friends), or edit in the install path (windows). See the faqs matplotlibrc and overriding defaults. """), ('numarray support', """Todd Miller has provided a numerix module which allows you to choose between Numeric of numarray. You can set Numeric or numarray in your matplotlibrc file, with an environment variable, or from the prompt. See the numerix module for more information and numarray issues for a summary of known issues in using numarray. """), ('data clipping off by default', """Data clipping, as opposed to viewport clipping, is turned off by default. You can change the default behavior in .matplotlibrc or set it to be true when needed as in stock_demo.py """), ('kwargs in plot commands', """The plot commands now take kwargs that are can be used to set line properties (any property that has a set_* method). You can use this to set a line label (for auto legends), linewidth, anitialising, marker face color, etc. Here is an example:
plot([1,2,3], [1,2,3], 'go-', label='line 1', linewidth=2)
plot([1,2,3], [1,4,9], 'rs',  label='line 2')
axis([0, 4, 0, 10])
legend()
"""), ('Bugfixes and minor improvements', """\ """ ), ) new_to_50 = ( ('Antigrain backend: Agg', """Adding to the growing list of image backends is Antigrain. This is a backend written mostly in extension code and is the fastest of all the image backends. Agg supports freetype fonts, antialiased drawing, alpha blending, and much more. The windows installer contains everything you need except Numeric to use the agg backend out of the box; for other platforms see The Agg Backend """ ), ('Paint/libart backend', """David Moore wrote a backend for pypaint, a libart wrapper. libart is a high quality, cross platform image renderer that supports antialiased lines, freetype fonts, and other capabilities to soon be exploited. Thanks David! See The Paint Backend for more information and install instructions""" ), ('The Matplotlib FAQ', 'Matplotlib now has a FAQ.'), ('Alpha channel attribute', """All the figure elements now have an alpha attribute to allow blending and translucency. Not all backends are currenly capable of supporting alpha - currently only Agg, but Paint should be able to support this soon - see the scatter screenshot for an example of alpha at work."""), ('Table class added', """John Gill has developed a very nice Table class and table function that plays well with bar charts and stacked bar charts. See example code and screenshot table_demo."""), ('new plot commands cla and clf', """Clear the current axes or figure. Useful in interactive plotting from a python shell""" ), ('Added x linesyle', """Matt MacMahon submitted a patch for an 'x' linestyle. Thanks Matt! """ ), ('Exposed legend properties', """Added methods to access the legend primities: text, lines, and rectangles to allow fine-grained control over legend properties; see legend_demo.py""" ), ('gd module on win32', """\ With much weeping and gnashing of teeth and help from half the people on this globe, built a gdmodule win32 installer. Special thanks to Stefan Kuzminski for putting up with my endless windows confusions. See the win32 quickstart at installing the GD backend.""" ), ('GD supports clipping and antialiased line drawing', """\ See instructions about upgrading gd and gdmodule at Installing the GD backend. The line object has a new 'antialiased' property, that if True, the backend will render the line antialiased if supported. Note antialiased drawing under GD is slow, so be sure to turn the property off set(lines, 'antialiased', False) if you experience performance problems. If you need performance and antialiasing, use the agg backend."""), ('wild and wonderful bar charts', """\ You can provide an optional argument bottom to the bar command to determine where the bottom of each bar is, default 0 for all. This enables stacked bar plots and candelstick plots -- examples/bar_stacked.py. Thanks to David Moore and John Gill for suggestions and code. """), ('Figure backend refactored', """\ The figure functionality was split into a backend independent component Figure and a backend dependent component FigureCanvasBase. This completes the transition to a totally abstract figure interface and improves the ability the switch backends and a figure to multiple backends. See API_CHANGES for information on migrating applications to the new API."""), ('Bugfixes and optimizations', """\ """), ) new_to_42 = ( ('EPS output from PS backend', """Just add an eps extension"""), ('PS and EPS save from GTK and WX backends with bugs fixed', """ A few of the bugs that were lingering in the PS output from the GTK backend have been cleared up. A fairly substantial refactoring of the Text class enabled this. Text is now backend independent and behaves like the other artists in the figure (lines, patches, etc). Additionally, PS and EPS save from WX backend work """), ('Object picker example', """The file examples/object_picker.py is a template showing how to select objects in the figure with the mouse(eg, text, lines). If you click on the line, a properties dialog will pop up. You can edit the line properties. This is just a template for those who want to develop a GUI properties dialog. If interested, contact the mailing list. It would be straight forward to extend this example to allow you to move objects in the figure, etc..."""), ) new_to_41 = ( ('Pcolor optimizations', """Several optimizations have improved the performance of pcolor across all backends, 4x on the GTK backend"""), ('PS save from GTK backend', """ An alpha version of the PS export functionality from the GTK backend. Mostly works with a few know problems. You can simply call savefig('somefile.ps') or use the PS extension when saving from the GUI. """), ('Bug fixes', """ Fixed bugs in semilogy and in setting dashes under some versions of Numeric """), ('bar takes (optional)multiple color args', """ You can now pass bar a len(x) list of color args to have bars with different colors. """), ) new_to_40 = ( ('Wx python backend', """ Jeremy O'Donoghue has done an amazing job implementing the backend for wxpython. See backend_wx for a status report on what's working and what the outstanding issues are."""), ('New plotting functions', """ Several new plotting functions are added. psd plots the power spectral density of a time series, csd plots the cross spectral density of two time series, and cohere plots the coherence. See the examples psd_demo.py and csd_demo.py """), ('Expanded legend capabilities', """ The legend class is improved, with a more sophisticated layout engine and the ability to accept lines or rectangle patches as an optional first argument to specify which lines/patches make up the legend. There are also additional legend placement locations, like 'upper center'. See legend_demo and barchart_demo. """), ('Expanded errorbar capabilities', """ Gary Ruben contributed some code to support x and y errorbars, either symmetric or asymmetric. See errorbar_demo.py for examples of all the wild and wonderful errorbar styles. Bar charts can now also display errorbars; see barchart_demo """), ('Substantially improved transform architecture', """ The transform architecture was refactored, allowing much more precise layout. Lines, patches, text, etc... can now be placed and scaled in arbitrary units, relative axes units, or physical size. Application programmers who want to create lines, patches and text directly using the API should read the transform module docs for more info. See text for an example of how to specify text locations in axes coords (0,0 is lower left and 1,1 is upper right). """), ) new_to_32 = ( ('wx python backend -- development version', """ Jeremy O'Donoghue has done an amazing job implementing the backend for wxpython. The code is still alpha and several of the features that will be available are under active development. See the code matplotlib/backends/backend_wx.py for a report on existing features and known bugs. If you have wxpython installed, you can take it for a test drive with python yourscript.py -dWX and please report any bugs not listed in the KNOWN BUGS section of the wx src to the matplotlib-devel mailing list. """), ('Pseudo color plots', """ The pcolor command generates pseudo color plots. See pcolor_demo and mri_with_eeg for screenshots and pcolor_demo.py for some example code """), ('Numerous small bugfixes', """ Fixed reversed zoom tools, bug in ticklabel setting, bug in AFM font path setting for PS backend, fixed a label position bug """), ) new_to_29_2 = ( ('Log scaling', """ Andrew Straw chipped in provided some code to support log scaling. Many thanks. matplotlib now has three new commands semilogx, semilogy, and loglog, and a new demo log_demo.py """), ) new_to_29_1 = ( ('GTK bugfixes and interactive mode', """This includes several bug fixes in the GTK backend which affected interactive mode and figure resizing. See interactive2.py in the new src release. """), ('Figure legends', """A matlab compatible legend command has been added. See legend_demo.py """), ('Bug fixes in alternate color specifications', """Some bugs regarding alternate ways of specifying colors have been ironed out (you can now use hex strings or 0-1 RGB tuples anywhere a color format string is supported ). See color_demo.py """), ) new_to_29 = ( ('Multiple output devices', """The major improvement in matplotlib with this release is that the library no longer requires pygtk or GTK, and instead renders to an abstract drawing interface. This allows you to use matplotlib even in environments with no X server (such as for a web application server to make dynamic charts), and to create publication quality postscript output. See output formats. """), ('Improved scaling with high resolution outputs', """ Earlier versions of matplotlib did not properly handle the scaling of text and marker sizes with font resolution, so when you went from a 100DPI screen image to a 600DPI output image, the text and marker sizes appeared too small. This has been fixed for all of the matplotlib output formats. """), ('Reorganization of class library', """ The class library has been substantially refactored, to isolate the renderer and graphics context classes that backend writers must implement. See backends/backend_template.py if you want to write a backend for your favorite GUI or output format. """), ('Line class rewritten for greater matlab compatibility', """ The line classes have all been reorganized into a single class that has greater matlab compatibility. This enables you to change existing lines to a new line style (eg, from solid line to markers with circles) as well as supports lines with a combination of line styles and markers times (eg, data points marked with circles and a dash line interpolating them). """), ('Many small bug fixes', """ """), ) new_2_to_21 = ( ('Deprecation warnings', """ Several users reported Deprecation warnings with python2.3 and pygtk 1.99.18. These were all related to passing floats rather than ints to gtk drawing commands. These have been cleaned up and none of the examples generate warnings. Let me know if you get some! """), ('Improved interactive shell', """ Jon Anderson posted an improved GTK shell to the pygtk mailing list. Using this no longer requires that pygtk have threading built in. See interactive2.py. Use this if you want to make plots interactively from the python shell. """), ('Specifying colors', """ You can now specify colors with color format strings, RGB tuples, or hex strings as in html. See color_demo.py """), ('Figure text', """ All text in matplotlib has been in axis (data coordinates). Sometimes it's helpful to be able to specify text in relative figure coordinates. Now figures have text. When you scroll interactively, axis text moves with the data, figure text is fixed. This is also useful for making a figure title when you have multiple columns of subplots. See figtext.py """), ('Flicker free updates', """ All drawing is done to a pixmap and then updated. This allows flicker free updates of the figure. You can use this, for example, to build a system monitor, which continuously shows system resources such as RAM, CPU, etc... See text tutorial. """), ('Multiple figures', """ Multiple figures supported with the figure command. See the Working with multiple figures and axes. """), ('Interactive shell', """ Interactive use from the python shell if you have pygtk compiled with threads. See Using matplotlib interactively. """), ('Saving figures', """ Ability to save figures in arbitrary resolution PNG or JPEG with a bug fix that caused saved figures to be corrupted by anything blocking the figure window. A GUI widget has been added to the figure toolbar to save figures and a new command savefig has been added. """), ('Navigation', """ A new and hopefully improved navigation toolbar has been added that doesn't require a wheel mouse, but still works with one. See the Navigation tutorial. """), ('More examples and screenshots', """ New examples and screenshots illustrating the new text functionality, the new plot types, and new commands. See the examples subdirectory in the src distribution. """), ('Patches', """ A Patch class added for drawing patches (rectangles, polygons, circles). This supports three new plotting commands scatter, hist and bar, with more to come. """), ('New commands', """ New plotting commands bar, close, errorbar, figure, hist, text, scatter, savefig, ylabel. """), ('Matplotlib on sourceforge', """ matplotlib homepage moved to sourceforge with a (hopefully) more useful homepage. """), ('Documentation', """ Much better documentation and a tutorial. """), ('Refactoring', """ Substantial rewrite of class library. All text now handled by the AxisText class in text.py. Axis handling refactored into dedicated class Axis defined in figure.py. """), ) @header@

What's new in matplotlib 0.53

+ for title, new in new_to_53:

@title@

@new@
-

What's new in matplotlib 0.52

+ for title, new in new_to_52:

@title@

@new@
-

What's new in matplotlib 0.51

+ for title, new in new_to_51:

@title@

@new@
-

What's new in matplotlib 0.50

+ for title, new in new_to_50:

@title@

@new@
-

What's new in matplotlib 0.42

+ for title, new in new_to_42:

@title@

@new@
-

What's new in matplotlib 0.41

+ for title, new in new_to_41:

@title@

@new@
-

What's new in matplotlib 0.40

+ for title, new in new_to_40:

@title@

@new@
-

What's new in matplotlib 0.32

+ for title, new in new_to_32:

@title@

@new@
-

What's new in matplotlib 0.29.2

+ for title, new in new_to_29_2:

@title@

@new@
-

What's new in matplotlib 0.29.1

+ for title, new in new_to_29_1:

@title@

@new@
-

What's new in matplotlib 0.29

+ for title, new in new_to_29:

@title@

@new@
-

What's new in matplotlib 0.21

+ for title, new in new_2_to_21:

@title@

@new@
-

What's new in matplotlib 0.2

+ for title, new in new_1to2:

@title@

@new@
- @footer@