Live data from Hacker News

Create diagrams with code using Graphviz

ncona.com

201–210 of 221 posts

Re: Create diagrams with code using Graphviz

#201

Can't find a Windows binary to download.

Looks like you need to grab the build artifacts from their CI/CD system.

https://ci.appveyor.com/project/ellson/graphviz-pl238/builds...

Not something I would trust out of the blue, but that's the best I see off of https://graphviz.org/download/

Re: Create diagrams with code using Graphviz

#202

We're reluctant to be exposed to too much anger about misfeatures in 20 year old code that was basically a prototype that escaped from the lab, but go ahead, ask us anything. We've gotten a lot of help lately from Magnus Jacobsson, Matthew Fernandez and Mark Hansen on cleaning up the website and the code base, even some persistent bugs we could never find ourselves. Improvements that would benefit the community the m…

I love graphviz and have used it as part of my job for over 15 years. That said, I have spent entirely too much time manually searching through the 100-odd dimensional Graphviz parameter space trying to get aesthetic results. So much time in fact that occasionally it's easier to fire up Omnigraph and draw the thing manually. Graphviz would be ideal if it had some kind of meta-parameter settings that could reduce the…

I've had the same experience. What could help is a constraints-driven drawing, i.e. we could split the drawing space into an invisible grid and say that these nodes must be in cell 1, those nodes in cell 2 and so on.

Re: Create diagrams with code using Graphviz

#204

We're reluctant to be exposed to too much anger about misfeatures in 20 year old code that was basically a prototype that escaped from the lab, but go ahead, ask us anything. We've gotten a lot of help lately from Magnus Jacobsson, Matthew Fernandez and Mark Hansen on cleaning up the website and the code base, even some persistent bugs we could never find ourselves. Improvements that would benefit the community the m…

i love graohviz. thank you for all the hard work over the years.

Re: Create diagrams with code using Graphviz

#205
post #105

Earlier quoted context omitted.

Sincerely, I think graphviz is great the way it is. I wouldn't change the graph language and most of the suggested changes would be "nice to have". Thanks for your hard work on it!

Agreed 100%. I don't care if graphviz looks a bit dated -- it's straightforward and easy to generate. (I wouldn't say "no" to having more layout algorithms, though!) My favourite personal use of Graphviz: A few years ago I inherited a large, legacy codebase that was very hard to understand -- full of global state modified from dozens of functions, obscure function names, etc. I used a C parser (forget which one) to c…

I imagine you used cflow and dot

I have done the same and it totally saved my ass on legacy code that I was tasked with extending or fixing.

I just pumped the output of dot to a static web page. It was awesome.

Also, I rendered the entire graph as a single page, and started printing it tiled to multiple 8.5x11 sheets. One of the women I worked with that did all our document versioning and tracking saw me taping the sheets together, and asked me for a copy of the document. An hour later she walked into my office with a single page print from a 42" plotter. That hung like artwork on my office wall for about eight years.

She was a wonderful soul for that. And the print was beautiful.

Re: Create diagrams with code using Graphviz

#206
post #195

Earlier quoted context omitted.

I'd rather have graphviz expose a kind of layout engine such that it can take the size each node will occupy (determined by whatever's going to draw them) and use that to create a layout, feeding path info to something that can handle the actual drawing, than have more drawing options in Graphviz itself. I think that doing so is (so far as I could tell, last time I tried) extremely awkward at best is why it's not emb…

Doesn't the export to plain give you what you need in term of location and size of the different items? https://graphviz.org/doc/info/output.html#d:plain

That doesn't let you tell graphviz how large you want to draw each node, right? Just how large graphviz would draw them? What I'd like is a way to take styling and drawing outside GraphViz. It's important (for what I'd like) that graphviz know how large each node is going to be so it can route around them. If you apply, say, a typeface or padding even very slightly different than what graphviz was using, or if there are just slight differences in, say, how a given browser renders a , it could change the size of the rendered nodes, and you end up with edges drawn under/over nodes.

Much cleaner (and way more useful) to be able to tell graphviz "this is how large I need this node to be, and that one this size, and the other one such-and-such, and they are connected thusly, now please give me coords for a layout"

This isn't just for looks, either: if you want the resulting graph to be interactive, and perhaps even graphically (drag-n-drop) editable after the initial graphviz auto-arranging, you're probably wanting output that's not exactly in graphviz's wheelhouse. You want to tell it node sizes and have it tell you where to put them.

Re: Create diagrams with code using Graphviz

#208
post #195

Earlier quoted context omitted.

Doesn't the export to plain give you what you need in term of location and size of the different items? https://graphviz.org/doc/info/output.html#d:plain

That doesn't let you tell graphviz how large you want to draw each node, right? Just how large graphviz would draw them? What I'd like is a way to take styling and drawing outside GraphViz. It's important (for what I'd like) that graphviz know how large each node is going to be so it can route around them. If you apply, say, a typeface or padding even very slightly different than what graphviz was using, or if there…

I think you can have fixed size nodes where you can specify the dimensions.

Re: Create diagrams with code using Graphviz

#210

Earlier quoted context omitted.

Agreed 100%. I don't care if graphviz looks a bit dated -- it's straightforward and easy to generate. (I wouldn't say "no" to having more layout algorithms, though!) My favourite personal use of Graphviz: A few years ago I inherited a large, legacy codebase that was very hard to understand -- full of global state modified from dozens of functions, obscure function names, etc. I used a C parser (forget which one) to c…

I imagine you used cflow and dot I have done the same and it totally saved my ass on legacy code that I was tasked with extending or fixing. I just pumped the output of dot to a static web page. It was awesome. Also, I rendered the entire graph as a single page, and started printing it tiled to multiple 8.5x11 sheets. One of the women I worked with that did all our document versioning and tracking saw me taping the s…

I never thought of getting a big plot or print of our graph. That is a great idea. :)
Post reply on HN