legend.t
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:1k
源码类别:

SNMP编程

开发平台:

C/C++

  1. use lib './t';
  2. use strict;
  3. use GIFgraph::bars;
  4. use GIFgraph::area;
  5. use GIFgraph::linespoints;
  6. $::WRITE = 0;
  7. require 'ff.pl';
  8. my @data = ( 
  9. ["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
  10. [    6,    7,   -8,   -2,   -4,  8.5,   -1,     5,     9],
  11. [    4,    2,    5,   -6,    3, -3.5,    3,    -3,    -4],
  12. [   -3,   -7,    undef, 2,   -4,  8.5,    2,     5,    -9],
  13. [    4,    2,   -5,    6,   -3, -2.5,   -3,    -3,     4],
  14. );
  15. my @opts = (
  16. {},
  17. {
  18. 'legend_placement' => 'RT',
  19. 'legend' => [ qw( one two three four five six ) ],
  20. },
  21. {
  22. 'legend_placement' => 'BL',
  23. 'legend_marker_width' => 16,
  24. 'legend_marker_height' => 16,
  25. 'legend' => [ 'One is a long one', undef, "Three is here" ],
  26. },
  27. {
  28. 'lg_cols' => 2,
  29. 'marker_size' => 10,
  30. 'legend' => [ qw( one two three four five six ) ],
  31. },
  32. );
  33. print "1..3n";
  34. ($::WARN) && warn "n";
  35. foreach my $i (1..3)
  36. {
  37. my $fn = 't/legend' . $i . '.gif';
  38. my $checkImage = get_test_data($fn);
  39. my $opts = $opts[$i];
  40. if ($i == 2)
  41. {
  42. foreach (@{$data[1]})
  43. {
  44. $_ *= -1;
  45. }
  46. }
  47. my $g = undef;
  48. if ($i == 1) { $g = new GIFgraph::bars(); }
  49. elsif ($i == 2) { $g = new GIFgraph::area(); }
  50. else { $g = new GIFgraph::linespoints(); }
  51. $g->set( %$opts );
  52. my $Image = $g->plot( @data );
  53. print (($checkImage eq $Image ? "ok" : "not ok"). " $in");
  54. ($::WARN) && warn (($checkImage eq $Image ? "ok" : "not ok"). " $in");
  55. write_file($fn, $Image) if ($::WRITE);
  56. }