|
Graphical Representations of Data
The problem of how to display data in graphs and other visual
representations is one of the most difficult ones, because of the wide
variety of requirements from each user. As a result, no one solution
has emerged, but many different packages are available. There are
interfaces to existing plotting libraries, as well as Python-centered
solutions.
Image Processing and Analysis
- The PIL
Toolkit provides a very powerful set of tools for manipulating
images. Its documentation is available at Pythonware.com
Plotting Tools
- Chaco is a
device-independent 2D plotting package based on the DisplayPDF API being
developed for Python by Enthought
with support from the Space
Science Telescope Institute.
- Konrad
Hinsen has some plotting support in his ScientificPython package, for example TkPlotCanvas.
- Michael Haggerty has a Gnuplot module which interfaces with the GNUPLOT package, based.
- plot_wrap
A module by Mike
Miller which wraps the functions in the
GNU
plotutils package.
- BLT
BLT is an
extension to the tk widgets, which can produce X/Y plots and bar
charts. The BLT package can be used through the Pmw package, a framework for
the creation of megawidgets building on top of Tkinter.
- DISLIN
DISLIN is a high-level and easy to use graphics library for
displaying data as curves, bar graphs, pie charts, 3D-color
plots, surfaces, contours and maps. The software is available
for several C, Fortran 77 and Fortran 90 compilers. For some
operation systems, the programming languages Python and Perl
are also supported by DISLIN.
DISLIN is free for the operating systems Linux and FreeBSD and
for the MS-DOS and Windows 95/NT compilers GCC, G77 and
ELF90. Other DISLIN versions are available at low prices and
can be tested free of charge.
- gdmodule
GD is a graphics library for the creation of GIF pictures,
written by Thomas Boutell. The gdmodule is an Python extension
for this library. It can do line, arcs, fills, fonts and can
also manipulate other GIF pictures. Included in the gdmodule
is a graphing module, which can produce line plots from data.
-
Gist
Extension to the gist graphics library, which is part of another numeric
environment named yorick.
It can produce line, contour, surface plots on quadrilateral meshes. On top
of the low-level interface the people from LLNL have build an
object-oriented interface which can also do isosurface and 3D slicing plots
together with light and script based animation. The interface is well
documented. The package is now part of the LLNL Python distribution. Gist
originally ran only under Unix-like operating systems. The latest source
and a Windows installer are available from the University
of Tokyo.
-
Gnuplot
Michael Haggerty has written a module to communicate with
Gnuplot from
within Python.
- pgplot
Extension to the pgplot graphics library, a portable, device
independent graphics package for making simple scientific
graphs. The library is intended for making graphical images of
publication quality with minimum effort on the part of the
user. All functions are directly callable from Python, through
the use of SWIG for wrapper code generation.
Pgplot has drivers for many different graphics formats and
devices, although there are problems with the MS-Windows
driver.
-
Py-OpenDX
OpenDX is the open-source version of the IBM Data Explorer (DX).
DX is a visualization system providing a full set of tools for manipulating,
rendering and animating data, especially 3D data from simulations or
acquired from observations. It provides a GUI, a scripting interface
and the API C libraries. Py-OpenDX is a Python binding for the OpenDX API.
Currently only the DXLink library is wrapped. That wrapper allows one
to start up a DX executive and communicate with it via the DXL API.
-
VTK
VTK is an OO-framework for visualisation, written in C++ with bindings
to TCL, Python and Java. It's not really a plotting package, but a
visualisation system, where one needs to program to get a
picture. It's very huge and resource demanding and best used on
hardware with good graphics performance. It uses mainly OpenGL for
rendering, so it can not produce vector graphics or high quality postscript
output. Besides of that VTK is very powerful and can produce really
great views of your data.
-
RPy -- a Python interface to
the R programming language.
R is a large, robust package for
doing math and statistics; it includes many, many graphing
options.
- Matplotlib
is a pure Python plotting library designed to
support publication quality plotting with a syntax familiar
to Matlab users. All of the plotting commands can be accessed
either via a functional interface familiar to Matlab users or an
object oriented interface familiar to Python users, and several
high resolution output formats are supported.
- PyX is a library for
creating figures in Encapsulated PostScript.
- Biggles is another
plotting library that supports multiple output formats,
as is Piddle.
- Pychart
is a library for creating EPS, PDF, PNG, and SVG charts. It supports
line plots, bar plots, range-fill plots, and pie charts.
Also Of Note:
Janko Hauser maintains a list similar to this one of
"Plotting with Python" tools, from which many of the above was
stolen (with permission).
There is an interface to the OpenGL library, called
PyOpenGL,
which can be used to write sophisticated visualization tools from scratch.
The FXPy
bindings to the FOX
GUI library support OpenGL, so might be a good starting point for new
applications.
|