maestrowf
maestrowf copied to clipboard
Dagvis
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).
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.
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.
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).
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.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.
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