man Graphics::Libplot () - Perl extension for libplot plotting library

NAME

Graphics::Libplot - Perl extension for libplot plotting library

SYNOPSIS

  use Graphics::Libplot ':All';

DESCRIPTION

This module lets you create plots by calling the routines in the libplot library. The libplot library is included in the plotutils package. Wrappers for each published C function are present. So the section of the plotutils info pages on programming in C should be your main reference. There are a few possible confusions, which are noted below.

Some of the C routines require character constants rather than strings. When using the equivalent perl function, you must wrap the character with the 'ord' function. For instance, alabel(ord 'c', ord 'c', some text); , will write some centered text.

EXPORTING FUNCTIONS

None of the libplot functions is exported by default. If you do not import any functions you must prepend the module name to each function. To call the pl_openpl() function you would give,

Graphics::Libplot::pl_openpl();

However, if you include the library with

 use Graphics::Libplot ':All'

then all of the functions will be exported, and you do not need to prepend the module name. In this case you need to be careful because there are many function names which may collide with others in your program.

On the other hand you can use one of

 use Graphics::Libplot ':INTEGERLOW'
 use Graphics::Libplot ':FLOATLOW'

to get just integer or just floating point plotting.

Be aware that the interface is still under development so more names will be added, and your scripts may need to be changed.

EXAMPLES

There are additional examples included in the source distribution. (They are in /usr/doc/libplot-perl/examples on debian systems.) This example draws a spiraling box pattern.

use Graphics::Libplot ':ALL';

# type of plotting device CW$device = 'X'; if (@ARGV) { CW$device = CW$ARGV[0]; die Uknown device: CW$ARGV[0] unless CW$ARGV[0] =~ /^ps|X|fig$/; }

{ # environment for local variables

my CW$SIZE=100; my ($i,$f,$s,$sf); pl_parampl (BITMAPSIZE, 700x700); CW$handle = pl_newpl($device, stdin, stdout, stderr); # open xwindow display pl_selectpl($handle); pl_openpl(); pl_fspace(-$SIZE,-$SIZE, CW$SIZE, CW$SIZE); # specify user coord system pl_pencolorname (blue); pl_fontname(HersheySerif); CW$s = 10; CW$f = 10; CW$sf = 1- .0012; for($i=1;$i<3000;$i++){ pl_fscale($sf,$sf); pl_fbox(60+$s*sin($i/$f), 60+$s*sin($i/$f), 75-$s*cos($i/$f), 75-$s*cos($i/$f)); pl_frotate(1); }

} pl_closepl(); pl_selectpl(0); pl_deletepl($handle);

AUTHOR

John Lapeyre <lapeyre@physics.arizona.edu> wrote this perl interface.

The libplot C library is developed by Robert Maier.

COPYRIGHT

libplot-perl is copyrighted by John Lapeyre and may be distributed only under the terms of either the Gnu General Public License, or of the perl Artistic License.

SEE ALSO

perl(1).