plot
Visualize data in graphical plots
SYNOPSIS
plot [OPTIONS] [FILE...]
Reads plotting commands from FILEs (or standard input) and generates graphical output.
PARAMETERS
-T device
Specifies the plotting device or output format (e.g., 'x' for X Window, 'ps' for PostScript, 'dumb' for ASCII).
-o file
Writes the generated graphical output to the specified file instead of standard output.
-P
Sends the generated graphical output directly to the default printer.
-C
Enables color rendering for devices that support it, rather than monochrome output.
--list_devices
Prints a comprehensive list of all supported output devices and their descriptions, then exits.
--help
Displays a brief usage message and a list of common options, then exits.
--version
Prints the version information for the `plot` utility and exits.
DESCRIPTION
The `plot` command is a classic utility from the `plotutils` package, designed for generating graphical output from text-based plotting instructions. It acts as a filter, reading a specific, line-oriented plotting language from standard input (or specified files) and translating it into a graphical representation. This output can be directed to various devices or file formats, ranging from simple ASCII art (via the `dumbplot` device) to PostScript, HP-GL, or interactive X Window System displays.
Historically, `plot` served as a universal interface to diverse plotting hardware. While it doesn't offer the advanced data analysis or visualization features of modern graphing tools like Gnuplot, it remains valuable for simple, programmatic drawing, particularly in shell scripting where its input format can be easily generated or processed.
CAVEATS
The `plot` command, typically part of the `plotutils` package, might not be universally installed by default on all Linux distributions. Its input format uses a specific, simple plotting language, which is distinct from and less expressive than those used by modern graphing tools like Gnuplot or programming libraries like Matplotlib. Output capabilities and appearance heavily depend on the selected device and the availability of appropriate rendering backends.
INPUT PLOTTING LANGUAGE
The `plot` command interprets a stream of single-character commands, often followed by integer or floating-point arguments. Common commands include:
'm x y' (move pen to x,y),
'd x y' (draw line to x,y),
'c x y r' (draw circle centered at x,y with radius r),
's' (set pen size),
'e' (end of plot).
This minimalistic language facilitates drawing basic geometric shapes and figures programmatically.
TYPICAL USAGE SCENARIOS
A frequent use case for `plot` involves piping the output of another command or a shell script directly to it. For example, a script might generate a series of `plot` commands based on some data, and then this output is piped to `plot -Tps > output.ps` to create a PostScript file, or to `plot -Tx` to display the graphics interactively in an X Window. This makes it a useful tool for integrating simple graphical output into automated workflows.
HISTORY
The `plot` command and the broader `plotutils` suite trace their origins back to early Unix systems, representing some of the first efforts to provide programmatic graphical output from the command line. They were instrumental in interfacing with various physical plotting devices prevalent in scientific and engineering environments. While contemporary graphics software offers far greater sophistication, `plotutils` persists as a testament to the Unix philosophy of small, specialized tools and remains useful for tasks amenable to its particular plotting language.