PLOT(3X)

NAME
plot: openpl, erase, label, line, circle, arc, move, cont, point, linemod, space, closepl - graphics interface

SYNOPSIS
openpl()

erase()

label(s)
char s[];

line(x1, y1, x2, y2)

circle(x, y, r)

arc(x, y, x0, y0, x1, y1)

move(x, y)

cont(x, y)

point(x, y)

linemod(s)
char s[];

space(x0, y0, x1, y1)

closepl()

DESCRIPTION
These subroutines generate graphic output in a relatively device-independent manner. See plot(5) for a description of their effect. Openpl must be used before any of the others to open the device for writing. Closepl flushes the output.

String arguments to label and linemod are null-terminated, and do not contain newlines.

Various flavors of these functions exist for different output devices. They are obtained by the following ld(1) options:

-lplot
    device-independent graphics stream on standard output for plot(1) filters

-l300
    GSI 300 terminal

-l300s
    GSI 300S terminal

-l450
    GSI 450 terminal

-l4013
    Tektronix 4013 terminal

-l4014
    Tektronix 4014 and 4015 terminals with the Enhanced Graphics Module (Use -l4013 for 4014's or 4015's without the Enhanced Graphics Module)

-lplotaed
    AED 512 color graphics terminal

-lplotbg
    BBN bitgraph graphics terminal

-lplotdumb
    Dumb terminals without cursor addressing or line printers

-lplot
    DEC Gigi terminals

-lvt0
    DEC vt100 terminals

-lplot2648
    Hewlett Packard 2648 graphics terminal

-lplot7221
    Hewlett Packard 7221 graphics terminal

-lplotimagen
    Imagen laser printer (default 240 dots-per-inch resolution).

On many devices, it is necessary to pause after erase(), otherwise plotting commands are lost. The pause is normally done by the tty driver if at login time, tset found a df field in the termcap(5) entry for the terminal. If a pause is needed but not automatically being generated, add
    flush(stdout);
    sleep(1);
after each erase().

SEE ALSO
plot(5), plot(1G), plot(3F), graph(1G)