12
12
the Python Numeric module [3]
13
13
the gnuplot program [2]
15
or, to use it under Java (experimental):
17
the Jython interpreter [4]
18
the Jython version of the Numeric module [5]
19
the gnuplot program [2]
15
21
Some ways this package can be used:
17
23
1. Interactive data processing: Use Python's excellent Numeric package
18
24
to create and manipulate arrays of numbers, and use Gnuplot.py to
19
25
visualize the results.
20
26
2. Web graphics: write CGI scripts in Python that use gnuplot to
21
output plots in GIF format and return them to the client.
27
output plots in (for example) PNG format and return them to the
22
29
3. Glue for numerical applications (this is my favorite): wrap your
23
30
C++/C/Fortran subroutines so that they are callable from Python,
24
31
then you can perform numerical computations interactively from
30
37
New features in this version:
32
+ Added distutils support.
33
+ Broke up the module a bit for better maintainability. The most
34
commonly-used facilities are still available through "import
35
Gnuplot", but some specialized things have been moved to separate
36
modules, in particular funcutils.py and PlotItems.py.
37
+ funcutils.tabulate_function() can be used to evaluate a function
38
on a 1-D or 2-D grid of points (this replaces grid_function,
39
which only worked with 2-D grids).
40
+ Added two helper functions, funcutils.compute_Data and
41
funcutils.compute_GridData, which compute a function's values on
42
a set of points and package the results into a PlotItem.
43
+ GridFunc is no longer an independent class; it is now a factory
44
function that returns a GridData. GridFunc is deprecated in
45
favor of funcutils.compute_GridData.
46
+ Changed set_option to work from a table, so that it doesn't need
47
to be overloaded so often.
48
+ Implemented test_persist for each platform to make it easier for
49
users to determine whether the `-persist' option is supported.
50
+ Added a prefer_persist option to serve as the default `persist'
52
+ Following a suggestion by Jannie Hofmeyr, use "from os import
53
popen" for Python 2.0 under Windows. I don't use Windows, so let
54
me know how this works.
55
+ Added support for the `axes' and `smooth' options of the `plot'
57
+ Reworked the comment strings in an effort to make them work
39
+ Relaxed license from GPL to LGPL.
40
+ Added support for sending data to gnuplot via FIFOs (named pipes).
41
This eliminates the ambiguity about when temporary files can be
42
deleted, and thereby removes a common source of problems with
43
Gnuplot.py. Unfortunately, FIFOs only work under forms of unix.
44
+ Added preliminary support for running Gnuplot.py under Jython, the
45
Java implementation of the Python language. It partly works but
46
depends on JNumeric, which is still beta-level.
60
48
Features already present in older versions:
68
56
+ Portable and easy to install (nothing to compile except on
70
+ Support for MS Windows, using the `pgnuplot.exe' program.
58
+ Support for Unix (including Linux and Mac OS X), MS Windows, and
59
Mac OS. The platform-dependent layer is fairly well abstracted
60
out, so it shouldn't be too difficult to add support for other
71
62
+ Support for sending data to gnuplot as `inline' or `binary' data.
72
63
These are optimizations that also remove the need for temporary
73
files. Temporary files are still the default.
65
+ Partly table-driven to make it easy to extend. New terminal
66
types can be supported easily by adding data to a table.
67
+ Install via distutils.
78
72
[1] Python <http://www.python.org> is an excellent object-oriented
79
73
scripting/rapid development language that is also especially good
80
74
at gluing programs together.
81
[2] gnuplot <http://www.gnuplot.org/> is a free, popular, very
75
[2] gnuplot <http://www.gnuplot.info/> is a free, popular, very
82
76
portable plotting program with a command-line interface. It can
83
77
make 2-d and 3-d plots and can output to myriad printers and
84
78
graphics terminals.
85
79
[3] The Numeric Python extension <http://numpy.sourceforge.net/> is a
86
80
Python module that adds fast and convenient array manipulations to
87
81
the Python language.
82
[4] Jython <http://www.jython.org> is a Python interpreter that runs
83
within a Java virtual machine.
84
[5] JNumeric <http://jnumerical.sourceforge.net/> is a version of the
85
Numeric module that runs under Java/Jython.