__________________________________________________________________ Announcing: gracePlot.py v0.5 An interactive, user-friendly python interface to the Grace plotting package. __________________________________________________________________
gracePlot.py is a high-level interface to the Grace plotting package available at: http://plasma-gate.weizmann.ac.il/Grace/ The goal of gracePlot is to offer the user an interactive plotting capability similar to that found in commercial packages such as Matlab and Mathematica, including GUI support for modifying plots and a user-friendly, pythonic interactive command-line interface.
Since this package is in the early stages of development it does not yet provide high-level command-line access to all of Grace's plotting functionality. It does, however, offer:
* Line Plots (with or without errorbars) * Histograms (with or without errorbars) * Multiple graphs (sets of axes) per plot * Multiple simultaneous plots (grace sessions) * Overlaid graphs, using a 'hold' command similar to Matlab's * Legends, titles, axis labels, and axis limits * Integration with Numerical Python and Scientific Python's Histogram object
Note that all advanced features and customizations are available through the Grace UI, so you can compose rough plots in Python and then polish them up in Grace.
Here is an example session that creates a plot with two sets of axes, putting a line plot in one and a histogram in the other: Python 2.1.1 (#2, Jul 31 2001, 14:10:42) [GCC 2.96 20000731 (Linux-Mandrake 8.0 2.96-0.48mdk)] on linux2 Type "copyright", "credits" or "license" for more information.
>>> from gracePlot import gracePlot >>> p = gracePlot() # A grace session opens >>> p.plot( [1,2,3,4,5], [10, 4, 2, 4, 10], [1, 0.7, 0.5, 1, 2], ... symbols=1 ) # A plot with errorbars & symbols >>> p.title('Funding: Ministry of Silly Walks') >>> p.ylabel('Funding (Pounds\S10\N)') >>> p.multi(2,1) # Multiple plots: 2 rows, 1 column >>> p.xlimit(0, 6) # Set limits of x-axis >>> p.focus(1,0) # Set current graph to row 1, column 0 >>> p.histoPlot( [7, 15, 18, 20, 21], x_min=1, ... dy=[2, 3.5, 4.6, 7.2, 8.8]) # A histogram w/errorbars >>> p.xlabel('Silliness Index') >>> p.ylabel('Applications/yr') >>> p.xlimit(0, 6) # Set limits of x-axis
The result of this session can be found at: http://www.idyll.org/~n8gray/code/index.html
gracePlot is available here: http://www.idyll.org/~n8gray/code/index.html
-- Nathaniel Gray
California Institute of Technology