pombreda / pydot

Automatically exported from code.google.com/p/pydot
MIT License
0 stars 0 forks source link

Creating DOT nodes in subgraph with rank=same #25

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. File attached - direct DOT text file works fine on simple test graph
2. Occurs when attempting to create table-like structure using multiple
node lines with rank=same. Works fine in direct DOT calls (where I'm using
much more complex structures including embedded clusters and subgraphs).
3. I've remove all comment lines to make sure they were not triggering the
problem (although I can't image why, it shortens the file).

What is the expected output? What do you see instead?
Instead of two lines of nodes, I receive a single long row.  The subgraphs
are not maintaining their independencies.

Let me know if you need additional information/data.

What version of the product are you using? On what operating system?
XP-SP3, DOT 2.21, pydot 1.02, Python 2.5, IDLE (python's standard IDE) for
testing purposes (to keep it simple).

Please provide any additional information below.
- Objective - create multi-tier embedded table structure using pydot.  I
can do this in DOT (directly, see attached sample).
- Objective - add distance values to edges which can be used in
least-distance calculations.
- Objective - create cluster structures as supported in DOT.

Suggestions (class extensions):
- support for Cluster function which is very useful in DOT.
- add_edge_list (not the graph_from_edge, but a full list of tuples)
- add_node_list (list with attributes)
- add_edge_chain - ordered list where each member is assumed to be linked
to the next member in the list. This is supported in DOT.
- add_edge_matrix(self, list_edges, length_subchain,
status_links_bidirectional) - ordered list that creates table-like grid
where automatic links are generated between vertical pairs and horizontal
pairs.  For example, if a list of 12 members (essentially 4 rows of 3
members) is passed, used the length_subchain (in this case 3) to parse out
horizontal edges.  If status_links_bidirectional==True, then link each row
(neighbor)member with the member in the row above it (so row 2, position 2
would link to row 1, position 2 and row 3, position 2) without having to
explicitly map out each each.

Original issue reported on code.google.com by anyoneus...@yahoo.com on 14 Feb 2009 at 9:09

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by ero.carr...@gmail.com on 31 Oct 2010 at 12:20

GoogleCodeExporter commented 9 years ago
It seems it's possible to create such ranked graphs with pydot 1.0.3. 
As for the suggestions of specific methods to generate graphs with such 
arrangements, I think it's too specific a case, although if code is provided 
I'll include it.

Original comment by ero.carr...@gmail.com on 1 Nov 2010 at 11:12