#!/usr/bin/perl use strict; use Data::Dumper; use SVG::Graph; use SVG::Graph::Data; use SVG::Graph::Data::Tree; my %fill = ( 1=>'red', 2=>'orange', 3=>'yellow', 4=>'green', 5=>'blue', 6=>'indigo', 7=>'violet', ); my $graph = SVG::Graph->new(width=>600,height=>600,margin=>30); my $group0 = $graph->add_frame; my $tree = SVG::Graph::Data::Tree->new; $group0->add_data($tree); my $root = $tree->root; $root->branch_length(int(rand(10)+1)); my @nodes = (); for my $c (0..20){ my $node = $tree->new_node(branch_length=>int(rand(10)+2),stroke=>$fill{int(rand(7)+1)},'stroke-width'=>int(rand(5)+1)); if($c < 2){ $root->add_daughter($node); } else { my $rand_parent = $nodes[int(rand($#nodes))]; $rand_parent->add_daughter($node); } push @nodes, $node; } $group0->add_glyph('tree', stroke=>'black','stroke-width'=>2); print $graph->draw;