td_done = 'bgcolor=#bfbfbf align="left"' td_partial = 'bgcolor=#eeefff align="left"' td_remaining = 'bgcolor=#efefef align="left"' @header@

Goals for matplotlib

Here is a growing list, and status updates, of things that I think need to be done to achieve a useful, publication quality 2D plotting library. If you have any suggestions, additions or comments, email me @myemail@ or the mailing list.


Goals Status
Allow arbitrary location, size and number of axes Done. Use subplot for making regular grids of axes and axes for custom placment
Allow full control of axes lines, tick lines, and grid lines. Eg, location, color, line style, line width, etc, should be under full control Almost done. You can specify the linewidth and color of the tick lines, axis lines and grid lines. You now have full control of the line attributes for the axes lines.
Support arbitrary location, rotation and fonts for axis text Partially done. This is backend dependent. The GD and PS backends support arbitrary rotations. The GTK backend still only supports 'horizontal' and 'vertical'. Full font support (font family, font angle, font weight, font size) is available for all backends; see fonts.
Plot legends Done, matlab compatible legends added in CVS after 0.29. See legend_demo.py and the legend command.
Allow high resolution printing to a variety of output formats As of version 0.29, matplotlib now supports multiple backend renders, including GTK, GD and postscript with arbitrary resolutions-- see output devices
Allow interactive control of plot An improved interactive command line environment is provided interactive2.py, which allows you to use matplotlib interactively from the prompt, though there are still some problems with this interpreter in the way it handles cutting and pasting of text directly into the interpreter. Also, it would be nicer if there were a way to do this w/o forcing users to use a custom interpreter, but I don't see how to right now. See also interactive.py.
Support a richer char set for labeling, eg greek letters, as well as sub and superscripts No progress here yet. It would be nice to support a large subset of LaTeX commands, as matlab does.
Support log scaling Added as of matplotlib-0.30. See semilogx, semilogy, and loglog, and demo log_demo.py
Add more patch commands, like pcolor pcolor added. See pcolor_demo and mri_with_eeg for screenshots and pcolor_demo.py for some example code. On the list to do: contour.
Add 3D plot commands After all the above goals are met (around matplotlib 1.0), I'll add 3D plotting with a VTK backend.
@footer@