use lib './t'; use strict; use GIFgraph::bars; use GIFgraph::area; use GIFgraph::linespoints; $::WRITE = 0; require 'ff.pl'; my @data = ( ["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"], [ 6, 7, -8, -2, -4, 8.5, -1, 5, 9], [ 4, 2, 5, -6, 3, -3.5, 3, -3, -4], [ -3, -7, undef, 2, -4, 8.5, 2, 5, -9], [ 4, 2, -5, 6, -3, -2.5, -3, -3, 4], ); my @opts = ( {}, { 'legend_placement' => 'RT', 'legend' => [ qw( one two three four five six ) ], }, { 'legend_placement' => 'BL', 'legend_marker_width' => 16, 'legend_marker_height' => 16, 'legend' => [ 'One is a long one', undef, "Three is here" ], }, { 'lg_cols' => 2, 'marker_size' => 10, 'legend' => [ qw( one two three four five six ) ], }, ); print "1..3\n"; ($::WARN) && warn "\n"; foreach my $i (1..3) { my $fn = 't/legend' . $i . '.gif'; my $checkImage = get_test_data($fn); my $opts = $opts[$i]; if ($i == 2) { foreach (@{$data[1]}) { $_ *= -1; } } my $g = undef; if ($i == 1) { $g = new GIFgraph::bars(); } elsif ($i == 2) { $g = new GIFgraph::area(); } else { $g = new GIFgraph::linespoints(); } $g->set( %$opts ); my $Image = $g->plot( \@data ); print (($checkImage eq $Image ? "ok" : "not ok"). " $i\n"); ($::WARN) && warn (($checkImage eq $Image ? "ok" : "not ok"). " $i\n"); write_file($fn, $Image) if ($::WRITE); }