new_to_40 = ( ('Wx python backend', """ Jeremy O'Donoghue has done an amazing job implementing the backend for wxpython. """), ('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 symmetrix or asymettric. 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. Applicaiton 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 alterate 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 compatibity. 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 wanings. 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 comand 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 screenshot 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@