\chapter {Introduction}
\pagenumbering{arabic}
\section {The PLPLOT Plotting Library}

PLPLOT is a library of C functions that are useful for making
scientific plots.
The PLPLOT library can be used to create standard x-y plots, semilog plots,
log-log plots, contour plots, 3D plots, mesh plots, bar charts and pie
charts. Multiple graphs (of the same or different sizes) may be placed
on a single page with multiple lines in each graph. Different line
styles, widths and colors are supported. A virtually infinite number
of distinct area fill patterns may be used. There are almost 2000 characters
in the extended character set. This includes four different fonts,
the Greek alphabet and a host of mathematical, musical, and other symbols.
The fonts can be scaled to any size for various effects.

Several output devices are supported and new devices can be
easily added by writing a small number of device dependent routines.
The C source for PLPLOT was written on an Amiga but has been ported
to several other systems.

Many of the underlying concepts used in the PLPLOT subroutine package
are based on ideas used in Tim Pearson's PGPLOT package originally
written in VAX-specific Fortran-77.  Sze Tan of the University of
Auckland originally developed PLPLOT on an IBM PC, and subsequently
transferred it to a number of other machines. Additional features were
added to allow three-dimensional plotting and better access to low-level
routines. The C version of PLPLOT was born when I decided to translate
the package from Fortran in an attempt to teach myself C. In the
process several of the routines were rewritten to improve efficiency
and several new features were
added that allow mesh plotting and area fills. The program structure
was changed somewhat to make it easier to incorporate
new devices.

This original version of this manual was written by Sze Tan.

\section {Installing and Using the PLPLOT Library}
The installation procedure is by necessity system specific and the
installation guide should be referred to for details. The procedure
requires that all of the routines be compiled and they are then
usually placed in a linkable library.

After the library has been created, you can write your main program
to make the desired PLPLOT calls.
Several example programs are included in this release to help guide
you in creating the main program (Be sure to include plplot.h in your
main program as in the examples.).

You will then need to compile your program and link it with the
plplot library. On a UNIX system this can be done using something similar
to (this is system specific)
\begin{verbatim}
cc -o main main.c -lplplot
\end{verbatim}
while on an Amiga (with the Lattice C compiler) you might use something
like (this depends on the compiler options you have used when creating
the library)
\begin{verbatim}
lc -o main -Lm+plplot.lib main.c
\end{verbatim}

If you have any problems I suggest you see the local C wizard.

\section {Organization of this Manual}
Because the library has been ported to so many different systems, this
manual describes the library in general terms.
System specific installation instructions and descriptions of supported
devices are given in the installation manual.

The PLPLOT library has been designed so that it is easy to write programs
producing graphical output without having to set up large numbers of
parameters. However, more precise control of the results may be necessary,
and these are accomodated by providing lower-level routines which change
the system defaults. In chapter \ref{simple}, the overall process of
producing
a graph using the high-level routines is described. Chapter \ref{advanced}
discusses the underlying concepts of the plotting process and introduces
some of the more complex routines. The reference section of the manual,
chapter \ref{reference} is an alphabetical list of the user-accessible
PLPLOT functions with detailed descriptions.

