-
Notifications
You must be signed in to change notification settings - Fork 612
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to draw an edge from a child to parent compound graph #238
Comments
Just curios why your trying to set and edge using
(not saying it will work, just asking?) |
@GordonSmith thanks for the reply. It was a typo in my question, it’s setEdge, and it’s still having the same error. |
Could you please provide a jsfiddle (or equivalent?) |
@koosvanderkolk Hay, thank you so much for the reply! I have created a JSFiddle for this, but you can refer to this demo repo - https://github.com/dagrejs/dagre-d3/blob/master/demo/clusters.html, you can simply pull this down and run the "Cluster" demo, please add a line " In the meantime, I will create a JSFiddle to make this easier to debug for other helpers. Thanks so much man, appreciate this! |
If the error indeed reads "Unable to draw an edge from a child to parent" then I am afraid this isn't just possible with this library. But maybe with your jsfiddle people can come up with a nice workaround :-). |
@koosvanderkolk Okay, no problem. Thanks anyway. Here is the JSFiddle if you're interested: http://jsfiddle.net/thenylify/Lbjm54ob/8/ Thank you. |
No solutions? |
I don't think this is supported by this library. You could use graphviz via Viz.js |
Any workaround ? |
1 similar comment
Any workaround ? |
Fix here: #293 |
I used |
Hi all,
I am currently using Dagre for one of my data visualisation project, it is a compound graph which requires a node to contain a nested node, I'm unable to draw edges from child nodes to parent nodes, I get the following error:
Uncaught TypeError: Cannot set property ‘rank’ of undefined.
Please also see the below code:
g.setNode('a', {label: 'A'});
g.setNode('b', {label: 'B'});
g.setNode('c', {label: 'C'});
g.setNode('d', {label: 'D'});
g.setNode('top_group', {label: 'Top Group', clusterLabelPos: 'bottom', style: 'fill: #ffd47f'});
g.setNode('bottom_group', {label: 'Group', clusterLabelPos: 'top', style: 'fill: #d3d7e8'});
// Set the parents to define which nodes belong to which cluster
g.setParent('a', 'top_group');
g.setParent('b', 'bottom_group');
g.setParent('c', 'bottom_group');
g.setParent('d', 'bottom_group');
// Draw edges
g.setEdge('a', 'b');
g.setEdge('b', 'c');
g.setEdge('b', 'd');
// Set edge from child to parent
g.setEdge('a', 'bottom_group'); // THIS LINE CAUSES THE ABOVE ERROR
The way how we create a parent is the same as how we create a child node, so the library should allow us to draw an edge from a child node to a parent node.
Can someone please advice?
This is really urgent so can someone please help.
Much appreciated,
Thanks,
Michael
The text was updated successfully, but these errors were encountered: