.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Libplot 3pm" .TH Libplot 3pm "2014-08-15" "perl v5.20.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Graphics::Libplot \- Perl extension for libplot plotting library .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Graphics::Libplot \*(Aq:All\*(Aq; .Ve .SH "DESCRIPTION" .IX Header "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. libplot has three different api's. This perl module provides and interface to the second one. It is the same as the most recent api, except that the the functions are not re-entrant. The api supported here is described in the section \*(L"Older C application programming interfaces\*(R" in the libplot manual. .PP 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', \*(L"some text\*(R"); , will write some centered text. .PP There is another unrelated perl-module interface to \s-1GNU\s0 libplot, called \&\f(CW\*(C`Graphics::Plotter\*(C'\fR. .SH "EXPORTING FUNCTIONS" .IX Header "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 \fIpl_openpl()\fR function you would give, .PP .Vb 1 \& Graphics::Libplot::pl_openpl(); .Ve .PP However, if you include the library with .PP .Vb 1 \& use Graphics::Libplot \*(Aq:All\*(Aq .Ve .PP 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. .PP On the other hand you can use one of .PP .Vb 2 \& use Graphics::Libplot \*(Aq:INTEGERLOW\*(Aq \& use Graphics::Libplot \*(Aq:FLOATLOW\*(Aq .Ve .PP to get just integer or just floating point plotting. .PP Be aware that the interface is still under development so more names will be added, and your scripts may need to be changed. .SH "EXAMPLES" .IX Header "EXAMPLES" There are additional examples included in the source distribution. (They are in /usr/share/doc/libgraphics\-libplot\-perl/examples on debian systems.) This example draws a spiraling box pattern. .PP .Vb 1 \& use Graphics::Libplot \*(Aq:ALL\*(Aq; \& \& # type of plotting device \& $device = \*(AqX\*(Aq; \& if (@ARGV) { \& $device = $ARGV[0]; \& die "Uknown device: $ARGV[0]" unless $ARGV[0] =~ /^ps|X|fig$/; \& } \& \& { # environment for local variables \& \& my $SIZE=100; \& my ($i,$f,$s,$sf); \& pl_parampl ("BITMAPSIZE", "700x700"); \& $handle = pl_newpl($device, stdin, stdout, stderr); # open xwindow display \& pl_selectpl($handle); \& pl_openpl(); \& pl_fspace(\-$SIZE,\-$SIZE, $SIZE, $SIZE); # specify user coord system \& pl_pencolorname ("blue"); \& pl_fontname("HersheySerif"); \& $s = 10; \& $f = 10; \& $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); .Ve .SH "BUGS" .IX Header "BUGS" The newest \s-1API\s0 is not supported. There is no test suite with this module, so it is not clear that everything works correctly. .SH "AUTHOR" .IX Header "AUTHOR" John Lapeyre wrote this perl interface. .PP The libplot C library is developed by Robert Maier. .SH "COPYRIGHT" .IX Header "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. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIperl\fR\|(1).