matplotlib 1.0.0 is available for download at https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0/
You can read this announcement with links and rendered figures at http://matplotlib.sourceforge.net/users/whats_new.html This page just covers the highlights -- for the full story, see the CHANGELOG below. A big thanks to all the developers who made this release possible. Some of the contributions are highlighted below, but a particular thanks to Eric Firing for new features and a heroic effort closing and fixing bugs, Jae-Joon Lee for continuing to amaze us with the things he can make matplotlib do (see gridspec below), Michael Droettboom for his tireless work tracking down bugs no one else can figure out, Christoph Gohlke for the Windows binaries, Russell Owens for the O X binaries, and Benjamin Root and Michiel de Hoon for many bug fixes and new features. What's new in matplotlib 1.0 ============================ HTML5/Canvas backend: Simon Ratcliffe and Ludwig Schwardt have released an HTML5/Canvas (http://code.google.com/p/mplh5canvas) backend for matplotlib. The backend is almost feature complete, and they have done a lot of work comparing their html5 rendered images with our core renderer Agg. The backend features client/server interactive navigation of matplotlib figures in an html5 compliant browser. Sophisticated subplot grid layout: Jae-Joon Lee has written gridspec, a new module for doing complex subplot layouts, featuring row and column spans and more. See http://matplotlib.sf.net/users/gridspec.html for a tutorial overview. Easy pythonic subplots: Fernando Perez got tired of all the boilerplate code needed to create a figure and multiple subplots when using the matplotlib API, and wrote a subplots helper function (http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.subplots). Basic usage allows you to create the figure and an array of subplots with numpy indexing (starts with 0). Eg:: fig, axarr = plt.subplots(2, 2) axarr[0,0].plot([1,2,3]) # upper, left See http://matplotlib.sf.net/examples/pylab_examples/subplots_demo.html for several code examples. Contour fixes and and triplot: Ian Thomas has fixed a long-standing bug that has vexed our most talented developers for years. contourf now handles interior masked regions, and the boundaries of line and filled contours coincide. Additionally, he has contributed a new module matplotlib.tri and helper function triplot for creating and plotting unstructured triangular grids. See http://matplotlib.sf.net/api/pyplot_api.html#matplotlib.pyplot.triplot for the function and http://matplotlib.sf.net/examples/pylab_examples/triplot_demo.html for example code. multiple calls to show supported: A long standing request is to support multiple calls to `show`. This has been difficult because it is hard to get consistent behavior across operating systems, user interface toolkits and versions. Eric Firing has done a lot of work on rationalizing show across backends, with the desired behavior to make show raise all newly created figures and block execution until they are closed. Repeated calls to show should raise newly created figures since the last call. Eric has done a lot of testing on the user interface toolkits and versions and platforms he has access to, but it is not possible to test them all, so please report problems to the mailing list and bug tracker. mplot3d graphs can be embedded in arbitrary axes: You can now place an mplot3d graph into an arbitrary axes location, supporting mixing of 2D and 3D graphs in the same figure, and/or multiple 3D graphs in a single figure, using the "projection" keyword argument to add_axes or add_subplot. Thanks Ben Root. http://matplotlib.sf.net/examples/mplot3d/subplot3d_demo.html tick_params: Eric Firing wrote tick_params, a convenience method for changing the appearance of ticks and tick labels. See pyplot function tick_params and associated Axes matplotlib.axes.Axes.tick_params. http://matplotlib.sf.net/api/pyplot_api.html#matplotlib.pyplot.tick_params Lots of performance and feature enhancements: * Faster magnification of large images, and the ability to zoom in to a single pixel * Local installs of documentation work better * Improved "widgets" -- mouse grabbing is supported * More accurate snapping of lines to pixel boundaries * More consistent handling of color, particularly the alpha channel, throughout the API Much improved software carpentry: The matplotlib trunk is probably in as good a shape as it has ever been, thanks to improved software carpentry. We now have a buildbot which runs a suite of nose regression tests on every svn commit, auto-generating a set of images and comparing them against a set of known-goods, sending emails to developers on failures with a pixel-by-pixel image comparison. Releases and release bugfixes happen in branches, allowing active new feature development to happen in the trunk while keeping the release branches stable. Thanks to Andrew Straw, Michael Droettboom and other matplotlib developers for the heavy lifting. Bugfix marathon: Eric Firing went on a bug fixing and closing marathon, closing over 100 bugs on the bug tracker with help from Jae-Joon Lee, Michael Droettboom, Christoph Gohlke and Michiel de Hoon. http://sourceforge.net/tracker/?group_id=80706&atid=560720 CHANGELOG since 0.99 2010-07-05 Added Ben Root's patch to put 3D plots in arbitrary axes, allowing you to mix 3d and 2d in different axes/subplots or to have multiple 3D plots in one figure. See examples/mplot3d/subplot3d_demo.py - JDH 2010-07-05 Preferred kwarg names in set_xlim are now 'left' and 'right'; in set_ylim, 'bottom' and 'top'; original kwargs are still accepted without complaint. - EF 2010-07-05 TkAgg and FltkAgg backends are now consistent with other interactive backends: when used in scripts from the command line (not from ipython -pylab), show blocks, and can be called more than once. - EF 2010-07-02 Modified CXX/WrapPython.h to fix "swab bug" on solaris so mpl can compile on Solaris with CXX6 in the trunk. Closes tracker bug 3022815 - JDH 2010-06-30 Added autoscale convenience method and corresponding pyplot function for simplified control of autoscaling; and changed axis, set_xlim, and set_ylim so that by default, they turn off the autoscaling on the relevent axis or axes. Therefore one can call set_xlim before plotting a line, for example, and the limits will be retained. - EF 2010-06-20 Added Axes.tick_params and corresponding pyplot function to control tick and tick label appearance after an Axes has been created. - EF 2010-06-09 Allow Axes.grid to control minor gridlines; allow Axes.grid and Axis.grid to control major and minor gridlines in the same method call. - EF 2010-06-06 Change the way we do split/dividend adjustments in finance.py to handle dividends and fix the zero division bug reported in sf bug 2949906 and 2123566. Note that volume is not adjusted because the Yahoo CSV does not distinguish between share split and dividend adjustments making it near impossible to get volume adjustement right (unless we want to guess based on the size of the adjustment or scrape the html tables, which we don't) - JDH 2010-06-06 Updated dateutil to 1.5 and pytz to 2010h. 2010-06-02 Add error_kw kwarg to Axes.bar(). - EF 2010-06-01 Fix pcolormesh() and QuadMesh to pass on kwargs as appropriate. - RM 2010-05-18 Merge mpl_toolkits.gridspec into the main tree. - JJL 2010-05-04 Improve backend_qt4 so it displays figures with the correct size - DSD 2010-04-20 Added generic support for connecting to a timer for events. This adds TimerBase, TimerGTK, TimerQT, TimerWx, and TimerTk to the backends and a new_timer() method to each backend's canvas to allow ease of creating a new timer. - RM 2010-04-20 Added margins() Axes method and pyplot function. - EF 2010-04-18 update the axes_grid documentation. -JJL 2010-04-18 Control MaxNLocator parameters after instantiation, and via Axes.locator_params method, with corresponding pyplot function. -EF 2010-04-18 Control ScalarFormatter offsets directly and via the Axes.ticklabel_format() method, and add that to pyplot. -EF 2010-04-16 Add a close_event to the backends. -RM 2010-04-06 modify axes_grid examples to use axes_grid1 and axisartist. -JJL 2010-04-06 rebase axes_grid using axes_grid1 and axisartist modules. -JJL 2010-04-06 axes_grid toolkit is splitted into two separate modules, axes_grid1 and axisartist. -JJL 2010-04-05 Speed up import: import pytz only if and when it is needed. It is not needed if the rc timezone is UTC. - EF 2010-04-03 Added color kwarg to Axes.hist(), based on work by Jeff Klukas. - EF 2010-03-24 refactor colorbar code so that no cla() is necessary when mappable is changed. -JJL 2010-03-22 fix incorrect rubber band during the zoom mode when mouse leaves the axes. -JJL 2010-03-21 x/y key during the zoom mode only changes the x/y limits. -JJL 2010-03-20 Added pyplot.sca() function suggested by JJL. - EF 2010-03-20 Added conditional support for new Tooltip API in gtk backend. - EF 2010-03-20 Changed plt.fig_subplot() to plt.subplots() after discussion on list, and changed its API to return axes as a numpy object array (with control of dimensions via squeeze keyword). FP. 2010-03-13 Manually brought in commits from branch ------------------------------------------------------------------------ r8191 | leejjoon | 2010-03-13 17:27:57 -0500 (Sat, 13 Mar 2010) | 1 line fix the bug that handles for scatter are incorrectly set when dpi!=72. Thanks to Ray Speth for the bug report. 2010-03-03 Manually brought in commits from branch via diff/patch (svnmerge is broken) ------------------------------------------------------------------------ r8175 | leejjoon | 2010-03-03 10:03:30 -0800 (Wed, 03 Mar 2010) | 1 line fix arguments of allow_rasterization.draw_wrapper ------------------------------------------------------------------------ r8174 | jdh2358 | 2010-03-03 09:15:58 -0800 (Wed, 03 Mar 2010) | 1 line added support for favicon in docs build ------------------------------------------------------------------------ r8173 | jdh2358 | 2010-03-03 08:56:16 -0800 (Wed, 03 Mar 2010) | 1 line applied Mattias get_bounds patch ------------------------------------------------------------------------ r8172 | jdh2358 | 2010-03-03 08:31:42 -0800 (Wed, 03 Mar 2010) | 1 line fix svnmerge download instructions ------------------------------------------------------------------------ r8171 | jdh2358 | 2010-03-03 07:47:48 -0800 (Wed, 03 Mar 2010) | 1 line 2010-02-25 add annotation_demo3.py that demonstrates new functionality. -JJL 2010-02-25 refactor Annotation to support arbitrary Transform as xycoords or textcoords. Also, if a tuple of two coordinates is provided, they are interpreted as coordinates for each x and y position. -JJL 2010-02-24 Added pyplot.fig_subplot(), to create a figure and a group of subplots in a single call. This offers an easier pattern than manually making figures and calling add_subplot() multiple times. FP 2010-02-17 Added Gokhan's and Mattias' customizable keybindings patch for the toolbar. You can now set the keymap.* properties in the matplotlibrc file. Newbindings were added for toggling log scaling on the x-axis. JDH 2010-02-16 Committed TJ's filled marker patch for left|right|bottom|top|full filled markers. See examples/pylab_examples/filledmarker_demo.py. JDH 2010-02-11 Added 'bootstrap' option to boxplot. This allows bootstrap estimates of median confidence intervals. Based on an initial patch by Paul Hobson. - ADS 2010-02-06 Added setup.cfg "basedirlist" option to override setting in setupext.py "basedir" dictionary; added "gnu0" platform requested by Benjamin Drung. - EF 2010-02-06 Added 'xy' scaling option to EllipseCollection. - EF 2010-02-03 Made plot_directive use a custom PlotWarning category, so that warnings can be turned into fatal errors easily if desired. - FP 2010-01-29 Added draggable method to Legend to allow mouse drag placement. Thanks Adam Fraser. JDH 2010-01-25 Fixed a bug reported by Olle Engdegard, when using histograms with stepfilled and log=True - MM 2010-01-16 Upgraded CXX to 6.1.1 - JDH 2009-01-16 Don't create minor ticks on top of existing major ticks. Patch by Neil Crighton. -ADS 2009-01-16 Ensure three minor ticks always drawn (SF# 2924245). Patch by Neil Crighton. -ADS 2010-01-16 Applied patch by Ian Thomas to fix two contouring problems: now contourf handles interior masked regions, and the boundaries of line and filled contours coincide. - EF 2009-01-11 The color of legend patch follows the rc parameters axes.facecolor and axes.edgecolor. -JJL 2009-01-11 adjustable of Axes can be "box-forced" which allow sharing axes. -JJL 2009-01-11 Add add_click and pop_click methods in BlockingContourLabeler. -JJL 2010-01-03 Added rcParams['axes.color_cycle'] - EF 2010-01-03 Added Pierre's qt4 formlayout editor and toolbar button - JDH 2009-12-31 Add support for using math text as marker symbols (Thanks to tcb) - MGD 2009-12-31 Commit a workaround for a regression in PyQt4-4.6.{0,1} - DSD 2009-12-22 Fix cmap data for gist_earth_r, etc. -JJL 2009-12-20 spines: put spines in data coordinates, add set_bounds() call. -ADS 2009-12-18 Don't limit notch size in boxplot to q1-q3 range, as this is effectively making the data look better than it is. - ADS 2009-12-18 mlab.prctile handles even-length data, such that the median is the mean of the two middle values. - ADS 2009-12-15 Add raw-image (unsampled) support for the ps backend. - JJL 2009-12-14 Add patch_artist kwarg to boxplot, but keep old default. Convert boxplot_demo2.py to use the new patch_artist. - ADS 2009-12-06 axes_grid: reimplemented AxisArtist with FloatingAxes support. Added new examples. - JJL 2009-12-01 Applied Laurent Dufrechou's patch to improve blitting with the qt4 backend - DSD 2009-11-13 The pdf backend now allows changing the contents of a pdf file's information dictionary via PdfPages.infodict. - JKS 2009-11-12 font_manager.py should no longer cause EINTR on Python 2.6 (but will on the 2.5 version of subprocess). Also the fc-list command in that file was fixed so now it should actually find the list of fontconfig fonts. - JKS 2009-11-10 Single images, and all images in renderers with option_image_nocomposite (i.e. agg, macosx and the svg backend when rcParams['svg.image_noscale'] is True), are now drawn respecting the zorder relative to other artists. (Note that there may now be inconsistencies across backends when more than one image is drawn at varying zorders, but this change introduces correct behavior for the backends in which it's easy to do so.) 2009-10-21 Make AutoDateLocator more configurable by adding options to control the maximum and minimum number of ticks. Also add control of the intervals to be used for ticking. This does not change behavior but opens previously hard-coded behavior to runtime modification`. - RMM 2009-10-19 Add "path_effects" support for Text and Patch. See examples/pylab_examples/patheffect_demo.py -JJL 2009-10-19 Add "use_clabeltext" option to clabel. If True, clabels will be created with ClabelText class, which recalculates rotation angle of the label during the drawing time. -JJL 2009-10-16 Make AutoDateFormatter actually use any specified timezone setting.This was only working correctly when no timezone was specified. - RMM 2009-09-27 Beginnings of a capability to test the pdf backend. - JKS 2009-09-27 Add a savefig.extension rcparam to control the default filename extension used by savefig. - JKS ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users