#!/usr/bin/perl use strict; use Lab::Data::Plotter; use Getopt::Long; use Pod::Usage; my %options=(# => default listplots => 0, dump => '', eps => '', plot => '', fulllabels => 0, ); GetOptions(\%options, 'listplots!', 'plot=s', 'dump=s', 'eps=s', 'fulllabels!', 'help|?', 'man', ); pod2usage(1) if $options{help}; pod2usage(-exitstatus => 0, -verbose => 2) if $options{man}; my $metafile=shift(@ARGV) or pod2usage(1); my $plotter=new Lab::Data::Plotter($metafile,\%options); if ($options{listplots}) { print "Available plots in $metafile:\n"; my %plots=$plotter->available_plots(); my $num=1; for (sort keys %plots) { print qq/$num -> $_ ($plots{$_})\n/; $num++; } exit; } if ($options{plot} =~ /^\d+$/) { my %plots=$plotter->available_plots(); $options{plot}=(sort keys %plots)[$options{plot}-1]; } pod2usage(1) unless ($options{plot}); my $gp=$plotter->plot($options{plot}); my $a=; __END__ =head1 NAME plotter.pl - Plot data with GnuPlot =head1 SYNOPSIS plotter.pl [OPTIONS] METAFILE =head1 DESCRIPTION This is a commandline tool to plot data that has been recorded using the L module. =head1 OPTIONS AND ARGUMENTS The file C contains the meta information for the data that is to be plotted. The name OR number of the plot that you want to draw must be supplied with the C<--plot> option, unless you use the C<--list_plots> option, that lists all available plots defined in the C. =over 2 =item --help|-? Print short usage information. =item --man Show manpage. =item --listplots List available plots defined in C. =item --plot=name --plot=number Show the plot with name C or number C. Numbers are given by the C<--list_plots> option. =item --dump=filename Do not plot now, but dump a gnuplot file C instead. =item --eps=filename Don't plot on screen, but create eps file C. =item --fulllabels Also show axis descriptions in plot. =back =head1 SEE ALSO =over 2 =item gnuplot(1) =item L =item L =item L =back =head1 AUTHOR/COPYRIGHT This is $Id$. Copyright 2004 Daniel Schröer. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut