Good libraries for visualizing a digraph?

I’m looking for a good library to visualize an Erlang digraph. I found digraph viewer but I haven’t had much success integrating it into my project.

Anybody know of any tools out there? If need be, I can look into libraries that allow me to export the digraph to another format and then visualize from there.

As an alternative, has anybody used graphvix? I’m trying to keep my program as simple as possible and I’m not sure whether or not bringing in graphvix is necessary.

Thanks!

What trouble did you run into?

1 Like

I created a digraph and attempted to run the viewer as is mentioned in the projects README. The server never started for some reason. I was running it in a .exs file, but I don’t think that should be a problem.

Granted, I didn’t give much effort solving the problem because I don’t think it offers what I’m looking for in my project. Ideally I’d be able to export visualizations as images rather than have to view them in a browser.

I’ve used graphviz before. Once you get the hang of the file format, it’s easy to generate from Elixir.

1 Like

Ditto. I haven’t use graphvix but generating graphviz files is pretty trivial, it’s an awesome format and I use it a lot. :slight_smile:

I’ve been using DagreD3 quite a bit, working on graph editors in the browser. It takes a very simple JSON format. https://github.com/dagrejs/dagre-d3

Hey, sorry for any confusion using digraph viewer. I created it a while back for a quick use case I had and never went back to actually turn it into something I expected other people would want to use. My aim for that library was little beyond letting me quickly see what the graph looked like whilst I was developing.

If you want to pursue it let me know and I am happy to help where I can. However it sounds like there are probably some better solutions mentioned above.

Also, since you’re using Elixir. If you’re not tied to digraph I would suggest taking a look at libgraph which is an Elixir graph implementation. This lib also supports serializing the graph into various formats such as the graphvix dot format mentioned above.