#!/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;