Still too abstract to me, but I think that when you say impact quantification you say: the last column number
use GraphViz;
open DATA, "<", "/my/data";
my $plot = GraphViz->new(
layout => 'dot', # <--or neato, or circo etc
node => {height => '0.05', shape => 'box',fontsize => '11', fontname =
+> 'Times-Roman', style=>'filled', color=>'lightgray'},
bgcolor=> 'white',
center=> 'true',
dpi=> '1800', #resolution of the graph, higher = sloower
... more general parameters following here...
);
while (<DATA>){
my ($idname, $fooname, $blah, $blah2, $impact) = split //,$_, 5 # spli
+t ID in fields
next if $impact = 0 # no impact between tests, so we discard this id->
+foo node
$plot->add_node($idname, label => "$idname"); #create parent node
$plot->add_edge($idname => $fooname, size => $impact) # trace an arrow
+ from to each id to its foo
#i don't remember if size is valid, but instead you could use better
+the tag color => $mycolor
The goal with this is that you can create easily a customized %colorha
+sh (when key = impact and value is a custom color... you can have mor
+e, less hot, more blue, more red... for any impact range
} # whe close while loop
# and we print the plot to a svg file, or gv, or png, or txt... svg fi
+le looks reasonably good in a browser and you can zoom it a loot
$plot->as_svg("my_big_plot.svg");
system("iceweasel my_big_plot.svg");
something like this, I warn you that in real life this is not so simple and this is only an skeleton and WILL fail for sure until you work and tune this a little, but you can explore this idea in any case, specially if you feel comfortable with dot files.