File Exchange

image thumbnail

MATLAB GraphViz Layout importer

version 1.3 (14.6 KB) by

GraphViz DOT file importer. Features include colours (HTML/X11/RGB/HSV), shapes, line styles etc.

5 Downloads

Updated

View License

This code takes a GraphViz ready DOT file, passes it to Graphviz (either using dot (fallback to mwdot if not present) or a custom layout engine you specify.) The output is then parsed and drawn in an axes specified by you, along with returning object handles and information about the graph as an adjacency matrix.

Please see the comments at the beginning of the file for more information on usage/limitations.

It has been quite extensively tested, and should work for just about any graph you can throw at it. Furthermore, custom node shapes and arrows can be easily added.

While it can work with the built-in (and unsupported) mwdot function, it is recommended you install the full GraphViz suite, available at http://graphviz.org/ , along with extensive documentation and samples.

Credit goes to Jonas Ballani for his Bezier function which is used to draw the splines.
http://matlabdb.mathematik.uni-stuttgart.de/download.jsp?MC_ID=7&SC_ID=8&MP_ID=480

Also, the inspiration came from Leon Peshkin's GraphViz interface, which (unfortunately) didn't quite cut it for our needs, and required me to write my own.

If you use this in your software, I would greatly appreciate a credit in your software's about page; I've put a fair amount of time in to this project, and wish to spread the word that others may benefit from it. Questions, comments, and suggestions for improvement are welcome.

Comments and Ratings (2)

Alex

Alex (view profile)

I use this everyday in my Matlab scripts and I love it! It seems to work with everything I throw at it. Good job!

Bjorn Wielens

I do realize it may be a bit slow- Stay tuned; I'm working on a highly-optimized version!

Updates

1.3

-Major speed optimizations.
- Realtime mode removed.
- 2 modes of operation
- Resolution of spline option.
- No need for x11colours.mat
- Removed temp file use.

1.1

-Fixed bug when using mcircle node type.
-Added autoSize and drawMode arguments.

MATLAB Release
MATLAB 7.7 (R2008b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video