#!/usr/bin/perl use strict; use Data::Dumper; use SVG::Graph; use SVG::Graph::Data; use SVG::Graph::Data::Datum; my $graph = SVG::Graph->new(width=>600,height=>600,margin=>30); my $frame0 = $graph->add_frame; my $frame1 = $frame0->add_frame; my $frame2 = $frame0->add_frame; my $frame3 = $frame0->add_frame; my $frame4 = $frame0->add_frame; my @d1 = (); my @d2 = (); my @d3 = (); my @d4 = (); for(1..int(rand(50)+1)){push @d1, SVG::Graph::Data::Datum->new(x=>int(rand(50)+50),y=>int(rand(50)+50),z=>int(rand(10))+1);} for(1..int(rand(50)+1)){push @d2, SVG::Graph::Data::Datum->new(x=>int(rand(50)),y=>int(rand(50)),z=>int(rand(10))+1);} for(1..int(rand(50)+1)){push @d3, SVG::Graph::Data::Datum->new(x=>int(rand(50)),y=>int(rand(50)+50),z=>int(rand(10))+1);} for(1..int(rand(50)+1)){push @d4, SVG::Graph::Data::Datum->new(x=>int(rand(50)+50),y=>int(rand(50)),z=>int(rand(10))+1);} my $data1 = SVG::Graph::Data->new(data => \@d1); my $data2 = SVG::Graph::Data->new(data => \@d2); my $data3 = SVG::Graph::Data->new(data => \@d3); my $data4 = SVG::Graph::Data->new(data => \@d4); $frame1->add_data($data1); $frame2->add_data($data2); $frame3->add_data($data3); $frame4->add_data($data4); $frame0->add_glyph('axis',x_fractional_ticks=>4,y_fractional_ticks=>6,'stroke'=>'black','stroke-width'=>2); #$frame0->add_glyph('scatter', 'fill'=>'grey','fill-opacity'=>0.3); $frame1->add_glyph('bubble', 'fill'=>'yellow','fill-opacity'=>0.3); $frame2->add_glyph('bubble', 'fill'=>'red','fill-opacity'=>0.3); $frame3->add_glyph('bubble', 'fill'=>'green','fill-opacity'=>0.3); $frame4->add_glyph('bubble', 'fill'=>'blue','fill-opacity'=>0.3); print $graph->draw;