Skip Menu |
 

This queue is for tickets about the Graph-Easy CPAN distribution.

Report information
The Basics
Id: 43316
Status: new
Priority: 0/
Queue: Graph-Easy

People
Owner: Nobody in particular
Requestors: ovid [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: 0.64
Fixed in: (no value)



Subject: Ordering Grouped Nodes
Download (untitled) / with headers
text/plain 1.5k
Hi Tels, Thanks for creating Graph::Easy. It's a great module. I'm using it for creating inheritance graphs: http://search.cpan.org/dist/Class-Sniff/ (See the 'graph' method) Unfortunately, I can't figure out any way of ensuring that Graph::Easy respects the order in which I add parents. This is problematic because if someone is using multiple inheritance (bad, I know, but that's a code smell this module is designed to detect), the graph might show the wrong order in which parents were inherited. I'm now trying to add proper groups to graphs and being able to control the left-to-right ordering of nodes would be useful. The following is my simple test case: use Graph::Easy; my $graph = Graph::Easy->new; $graph->set_attribute( 'graph', 'flow', 'up' ); my $group = $graph->add_group; $group->add_nodes(qw<AA BB CC DD>); $graph->add_edge_once(qw<Foo AA>); $graph->add_edge_once(qw<Foo BB>); $graph->add_edge_once(qw<Foo CC>); $graph->add_edge_once(qw<Foo DD>); $graph->add_edge_once(qw<AA UNIVERSAL>); $graph->add_edge_once(qw<BB UNIVERSAL>); $graph->add_edge_once(qw<CC UNIVERSAL>); $graph->add_edge_once(qw<DD UNIVERSAL>); print $graph->as_ascii; my $graphviz = $graph->as_graphviz(); open my $DOT, '|dot -Tpng -o groups.png' or die("Cannot open pipe to dot: $!"); print $DOT $graphviz; I've attached a png to let you see what's happening. The AA, BB, CC, DD order is not preserved. I realize that this may not be useful for graphs in general, but it would save me a lot of pain if I could figure this out :) Cheers, Ovid
Subject: groups.png
Download groups.png
image/png 13.6k
groups.png


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.