Sample Graphics Programs

**GRAPHICS_EXAMPLES**,
Python programs which
illustrate how various kinds of data can be displayed and analyzed graphically.

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

**GRAPHICS_EXAMPLES** programs are available in
a C version and
a C++ version and
a dataset version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATHEMATICA version and
a MATLAB version and
a Python version.

GRAPHICS_EXAMPLES_CONVERT, examples which illustrate how various kinds of data can be processed and modified using the ImageMagick program convert() and its related tools.

GRAPHICS_EXAMPLES_GNUPLOT, examples which illustrate how various kinds of data can be displayed and analyzed graphically using the interactive executable graphics program gnuplot().

GRAPHICS_EXAMPLES_GRACE, examples which illustrate how various kinds of data can be displayed and analyzed graphically using the interactive executable graphics program grace().

GRAPHICS_EXAMPLES_PLOTLY, examples which illustrate how various kinds of data can be displayed and analyzed graphically, using the plotly() program from a browser.

**CIRCLE_INOUT** depicts 500 pairs of (X,Y) data points in the unit square,
395 of which lie inside the unit circle, and 105 outside. If possible,
the "inside" points should be blue, the "outside" points red, and the
circle itself should also be drawn.

- circle_in.txt, the coordinates of points inside the circle.
- circle_out.txt, the coordinates of points outside the circle.
- circle_inout.py, reads the data and makes a plot.
- circle_inout.png, a PNG image of the plot.

**GEYSER** contains the waiting time in minutes between
successive eruptions of the Old Faithful geyser. 299 values are
recorded. The data ranges from 43 to 108. It should be displayed in 14 bins
of width 5 from 40 to 110. The data comes from Martinez and Martinez.

- geyser.txt, the data set;
- geyser.py, reads the data and makes a plot.
- geyser.png, a PNG image of the plot.

**LISSAJOUS** records 1000 points on a Lissajous curve defined by
x=sin(3*t+pi/2), y=sin(4t). The curve is to be plotted and every tenth point marked.

- lissajous.txt, the data.
- lissajous.py, reads the data and makes a plot.
- lissajous.png, a PNG image of the plot.

**LYNX** records the yearly lynx harvest from 1821 to 1934.
The graph should plot the data points as circles, and connect consecutive
data points with straight line segments to suggest a curve.

**ORBITAL** records, on a 101x101 grid over [0,4*pi]x[0,4*pi], the
minimum distance between two planets given a pair of orbital angles. A
contour plot of this data is to be presented.

- orbital.txt, the data.
- orbital.py, reads the data and makes a plot.
- orbital.png, a PNG image of the plot.

**SCATTER_PLOT** generates a scatter plot of 500 normally distributed (X,Y) points.

- scatter_plot.py, creates the data and displays a scatter plot.
- scatter_plot.png, a PNG image of the plot.

**SURFACE_GRID** records, on a 41x41 grid over [-2,2]x[-2,+2], the values
z = exp(-(x^2+y^2)) * cos(0.25*x) * sin(y) * cos(2*(x^2+y^2)).
The data is to be plotted as a surface.

- surface_grid.txt, the data.
- surface_grid.py, reads the data and makes a plot.
- surface_grid.png, a PNG image of the plot.

- graphics_examples_test.py, calls all the tests;
- graphics_examples_test.sh, runs all the tests;
- graphics_examples_test_output.txt, the output file;

You can go up one level to the Python source codes.