maestrowf icon indicating copy to clipboard operation
maestrowf copied to clipboard

Dagvis

Open jwhite242 opened this issue 4 years ago • 4 comments

Add visualization option for the workflow's dag, including multiple output formats (matplotlib, dot file, graphml) and two layout options (spring layout and dot hierarchical).

jwhite242 avatar Aug 17 '20 06:08 jwhite242

I tested the matplotlib code with the LULESH sample specification and the visualization got messy. I've not tested with the dot format yet, primarily because I need to figure out how to render it. But the image below was the result of my initial run.

dag_lulesh_sample1_

FrankD412 avatar Aug 18 '20 17:08 FrankD412

I tested the matplotlib code with the LULESH sample specification and the visualization got messy. I've not tested with the dot format yet, primarily because I need to figure out how to render it. But the image below was the result of my initial run.

dag_lulesh_sample1_

Hmm, the autosizing doesn't work so well on that one with those interior nodes. For the dot format, if you have pygraphviz/graphviz installed you can use --draw mpl-dot which will render it for you with graphviz's much nicer dot layout for the tree like structures. Anyway, I'll take another pass at some more clever sizing (or maybe pull the cleverness out since it looks terrible when it doesn't work).

jwhite242 avatar Aug 18 '20 17:08 jwhite242

I tested the matplotlib code with the LULESH sample specification and the visualization got messy. I've not tested with the dot format yet, primarily because I need to figure out how to render it. But the image below was the result of my initial run. dag_lulesh_sample1_

Hmm, the autosizing doesn't work so well on that one with those interior nodes. For the dot format, if you have pygraphviz/graphviz installed you can use --draw mpl-dot which will render it for you with graphviz's much nicer dot layout for the tree like structures. Anyway, I'll take another pass at some more clever sizing (or maybe pull the cleverness out since it looks terrible when it doesn't work).

Sounds good -- I ran a rendering in mpl-dot and got the following. It's better, but the downstream nodes seem to bundle up.

dag_lulesh_sample1_

FrankD412 avatar Aug 18 '20 17:08 FrankD412

Yeah, the layout algorithm doesn't currently take node text size into account. That's sort of a pain point currently, but i've got a few ideas for dealing with that that I'm working on. I think graphviz can deal with that better, and is something i still need to port from my old prototype

jwhite242 avatar Aug 18 '20 17:08 jwhite242