1use strict; 2 3use Test::More; 4 5use SVG; 6use SVG::Graph; 7use SVG::Graph::Data::Datum; 8 9ok(my $svg = SVG->new( width => 800, height => 800 )); 10 11my $graph_summer = SVG::Graph->new( 12 svg => $svg, 13 width => 400, 14 height => 400, 15 xoffset => 0, 16 yoffset => 0, 17 margin => 30 18); 19my $graph_winter = SVG::Graph->new( 20 svg => $svg, 21 width => 400, 22 height => 400, 23 xoffset => 400, 24 yoffset => 0, 25 margin => 30 26); 27my $graph_autumn = SVG::Graph->new( 28 svg => $svg, 29 width => 400, 30 height => 400, 31 xoffset => 0, 32 yoffset => 400, 33 margin => 30 34); 35my $graph_spring = SVG::Graph->new( 36 svg => $svg, 37 width => 400, 38 height => 400, 39 xoffset => 400, 40 yoffset => 400, 41 margin => 30 42); 43 44my $group_summer = $graph_summer->add_frame(); 45my $group_winter = $graph_winter->add_frame(); 46my $group_autumn = $graph_autumn->add_frame(); 47my $group_spring = $graph_spring->add_frame(); 48 49my @d_summer = (); 50my @d_winter = (); 51my @d_autumn = (); 52my @d_spring = (); 53 54my $xval = 1; 55my $yval = 1; 56my $zval = 1; 57 58for ( 1 .. 20 ) { 59 push @d_summer, 60 SVG::Graph::Data::Datum->new( 61 x => $xval++, 62 y => $yval++, 63 z => $zval++ 64 ); 65 $xval = $xval % 2; 66 $yval = $yval % 3; 67 $zval = $zval % 4; 68} 69for ( 1 .. 20 ) { 70 push @d_winter, 71 SVG::Graph::Data::Datum->new( 72 x => $xval++, 73 y => $yval++, 74 z => $zval++ 75 ); 76 $xval = $xval % 2; 77 $yval = $yval % 3; 78 $zval = $zval % 4; 79 80} 81for ( 1 .. 20 ) { 82 push @d_autumn, 83 SVG::Graph::Data::Datum->new( 84 x => $xval++, 85 y => $yval++, 86 z => $zval++ 87 ); 88 $xval = $xval % 2; 89 $yval = $yval % 3; 90 $zval = $zval % 4; 91} 92for ( 1 .. 20 ) { 93 push @d_spring, 94 SVG::Graph::Data::Datum->new( 95 x => $xval++, 96 y => $yval++, 97 z => $zval++ 98 ); 99 $xval = $xval % 2; 100 $yval = $yval % 3; 101 $zval = $zval % 4; 102} 103 104my $data_summer = SVG::Graph::Data->new( data => \@d_summer ); 105my $data_winter = SVG::Graph::Data->new( data => \@d_winter ); 106my $data_autumn = SVG::Graph::Data->new( data => \@d_autumn ); 107my $data_spring = SVG::Graph::Data->new( data => \@d_spring ); 108 109$group_summer->add_data($data_summer); 110$group_winter->add_data($data_winter); 111$group_autumn->add_data($data_autumn); 112$group_spring->add_data($data_spring); 113 114$group_summer->add_glyph( 115 'bubble', 116 'fill' => 'orange', 117 'fill-opacity' => 0.5 118); 119$group_winter->add_glyph( 'bubble', 'fill' => 'cyan', 'fill-opacity' => 0.5 ); 120$group_autumn->add_glyph( 'bubble', 'fill' => 'red', 'fill-opacity' => 0.5 ); 121$group_spring->add_glyph( 122 'bubble', 123 'fill' => 'green', 124 'fill-opacity' => 0.5 125); 126$group_summer->add_glyph('axis'); 127$group_winter->add_glyph('axis'); 128$group_autumn->add_glyph('axis'); 129$group_spring->add_glyph('axis'); 130 131$graph_summer->draw(); 132$graph_winter->draw(); 133$graph_autumn->draw(); 134$graph_spring->draw(); 135 136ok($svg->xmlify); 137 138done_testing(); 139