NAME Chart::Graph - Perl extension for a front-end to gnuplot, XRT, and Xmgrace. SYNOPSIS # EXAMPLE: gnuplot #make sure to include Chart::Graph use Chart::Graph:Gnuplot qw(gnuplot); gnuplot(\%global_options, [\%data_set_options, \@matrix], [\%data_set_options, \@x_column, \@y_column], [\%data_set_options, < filename >], ... ); # EXAMPLE: Xmgrace #make sure to include Chart::Graph use Chart::Graph::Xmgrace qw(xmgrace); xmgrace(\%global_options, [\%data_set_options, \@matrix], [\%data_set_options, \@x_column, \@y_column], [\%data_set_options, < filename >], ... ); # EXAMPLE: xrt2d #make sure to include Chart::Graph use Chart::Graph::Xrt2d qw(xrt2d); xrt2d(\%options, \@data_set); #say for example we have a 3 by 4 matrix -> dataxy xrt2d(\%options, [[data11, data12, data13, data14], [data21, data22, data23, data24], [data31, data32, data33, data34]]) # EXAMPLE: xrt3d #make sure to include Chart::Graph use Chart::Graph::Xrt3d qw(xrt3d); xrt3d(\%options, \@data_set); #say for example we have a 3 by 4 matrix -> dataxy xrt3d(\%options, [[data11, data12, data13, data14], [data21, data22, data23, data24], [data31, data32, data33, data34]]) DESCRIPTION use Chart::Graph; Graph.pm is a wrapper module that allows easy generation of graphs within Perl. Currently Graph.pm supports three graphing packages: gnuplot, XRT, and Xmgrace. These software packages must be obtained separately from this Perl module. Information on each graphing package and its availability is provided in the documentation on that module. Gnuplot and Xmgrace are freely available software for UNIX systems. XRT is a commercial product. Currently the xrt3d and xrt2d package are not being supported, although they work. They are still in the development stage. Feel free to give them a try though. INSTALLATION Because Chart-Graph is a wrapper script, you need to install the graphic package that you wish to use before attempting to install Chart-Graph.pm. Unless the appropriate graphics software is installed, the testing portions of the install will fail. If you want to use the xrt2d/xrt3d package, you need to build the respective "graph" binaries in the xrt2d/xrt3d directories. Refer to the README files in the xrt2d and xrt3d directories for instructions on creating the required binaries. Chart-Graph.pm use the standard Perl module installation procedure. To install Graph.pm on your system you need to run: perl Makefile.PL make make test make install The standard Perl options apply. For example, you can specify the location of your Perl installation with the option "PREFIX=/your/private/dir", by modifying the first command as follows: perl Makefile.PL PREFIX=/your/private/dir Running the Makefile.PL Perl script does some additional preparation before creating the Makefile. In particular, the script sets up the testing routines for the various graphics modules. Enter (space separated) graphing drivers to test: [gnuplot xrt3d xrt2d xmgrace] Enter the names of the graphical software packages that you have installed. The others will be ignored even if Chart-Graph will appear to "test" them. If you are using Xmgrace or XRT there are additional options you will need to supply. In order to permit Xmgrace to perform its test without using the X server you should provide a path to a X virtual frame buffer. Enter path to X virtual frame buffer(Xvfb): Finally, if you are running XRT, you need to provide that path to the XRT binaries: Enter path to xrt2d binary (built from xrt2d/): Note that running the tests will create image files that are placed in the directory test_results. These images are almost all identical with the examples provided with the documentation and can be used to check if there are subtle errors in your image creation software. USAGE Chart::Graph attempts as much as possible to provide a uniform interface to these different graphics packages. Unfortunately, the functionality of each program is sufficiently different that the interface cannot be entirely uniform. GENERAL DIAGNOSTICS AND TOOLS Currently Chart::Graph supports two levels of debugging, 0 (no debug msgs) and 1 (debug msgs). You need to set the $Chart::Graph::debug flag accordingly. If you are having problems with Graph.pm set the debug flag to 1. Also Graph.pm will check $ENV{TMPDIR} for the temporary file storage. If you do not specify, it will be set to /tmp automatically. Temporary files can also be saved for further debugging purposes by setting $Chart::Graph::save_tmpfiles flag accordingly, 0 (no tmp files saved) or 1 (save tmp files specified in "$ENV{TMPDIR)" or /tmp by default) Note: Currently, XRT and Xmgrace use the local X server by default to draw their graphics. With XRT, if you are having problems with color or speed is an issue, set $Chart::Graph::use_xvbf to 1 to use the virtual x frame buffer. With Xmgrace, you MUST set $Chart::Graph::use_xvbf to 1 if you are not using a local X server. All the documentation is also provided in HTML with the sample image files located in the doc directory. CONTENT SUMMARY Graph.pm - top level file of Chart::Graph Graph/ - sub modules of Chart::Graph Graph/Xmgrace/ - sub modules of Chart::Graph::Xmgrace doc/ - documentation in HTML xrt2d/ - xrt2d wrapper executable code xrt3d/ - xrt3d wrapper executable code MORE INFO For more information on gnuplot, please see the gnuplot web page: http://www.gnuplot.info/ For more information on Xmgrace, please see the Xmgrace web page: http://plasma-gate.weizmann.ac.il/Grace For more information on XRT, please see the XRT web page: http://software.dell.com/products/xrt-pds/ CONTACT Send email to the graph-dev@caida.org mailing list if you have problems, questions, or comments. To subscribe to this mailing list send mail to graph-dev-request@caida.org with a body of "subscribe your@email.com" AUTHOR CAIDA Perl development team (cpan@caida.org) SEE ALSO gnuplot(1) xmgrace(1)