#!/usr/bin/perl use strict; use Data::Dumper; use SVG::Graph; use SVG::Graph::Data; use SVG::Graph::Data::Datum; my @d1 = (); my($i,$j) = (0,0); while(<>){ last if $i >= 15; chomp; my @cols = split /\t/; $j = 0; foreach my $c (@cols){ last if $j >= 15; next if $c =~ /nan/; $c = int($c); warn "$c @ $j,$i"; push @d1, SVG::Graph::Data::Datum->new(x=>$j,y=>$i,z=>$c); $j++; } $i++; } my $graph = SVG::Graph->new(width=>600,height=>600,margin=>30); my $frame0 = $graph->add_frame; my $frame1 = $frame0->add_frame; #for(1..int(rand(10)+1)){push @d1, SVG::Graph::Data::Datum->new(x=>int(rand(50)),y=>int(rand(50)),z=>int(rand(10))+1);} #for my $i (1..20){ # for my $j (1..20){ # push @d1, SVG::Graph::Data::Datum->new(x=>$i,y=>$j,z=>int(rand(255))); # } #} my $data1 = SVG::Graph::Data->new(data => \@d1); $frame1->add_data($data1); $frame0->add_glyph('axis','stroke'=>'black','stroke-width'=>2); #$frame0->add_glyph('scatter', 'fill'=>'grey','fill-opacity'=>0.3); $frame1->add_glyph('heatmap', 'fill'=>'yellow','fill-opacity'=>0,stroke=>'black',rgb_h=>[255,255,0],rgb_m=>[255,255,255],rgb_l=>[0,0,255]); print $graph->draw;