Jgraph -- A Filter for Plotting Graphs in Postscript

James S. Plank, University of Tennessee.

Original Code: November, 1992.
Latest Revision (8.5): November, 2017.

If You Use Jgraph

Please send me a brief email (plank@cs.utk.edu) with your name and affiliation. Documentation of usage of my open-source code is always a good thing for department heads, deans and funding agencies.

Brief Description

Jgraph is a program that takes the description of a graph or graphs as input, and produces a postscript file on the standard output. Jgraph is ideal for plotting any mixture of scatter point graphs, line graphs, and/or bar graphs, and embedding the output into LaTeX, or any other text processing system that can read postscript.

The Software (version 8.6)

Jgraph is an interesting case study in old code.

I find it interesting (as of writing this in February, 2024) that a piece of C code that has been completely functional for 31+ years has had to be revised three times now, not because the code is incorrect, but because the compiler-writers change the definition of the language. I know I sound petulant, but there you have it. You can get the tar file at http://web.eecs.utk.edu/~jplank/plank/jgraph/2024-02-15-Jgraph.tar

A set of more complex jgraph examples is available in pub/plank/jgraph/complex_examples.shar.Z.

Jgraph is currently part of the Debian and the SAL (Scientific Applications on Linux) software repositories.

It has been reported to me (2021): "I just wanted to let you know that the compiler shipping with Apple’s new ARM machines required that I pass -Wno-implicit in order to compile Jgraph. It doesn’t seem like it’s respecting -ansi for some reason... sigh"

Other interesting files

Jgraph lecture notes -- easier to read than the man page, so I've been told.

The gif files were created with jgrtoppm (below).

Related Paper

``Jgraph -- A Filter for Plotting Graphs in PostScript'', Conference Proceedings, Usenix Winter 1993 Technical Conference, San Diego, CA, January, 1993, pp 63--68.