File Exchange

image thumbnail

Plot a Directed Graph

version 1.0 (2.29 KB) by

plots a directed graph represented by an adjacency matrix and xy points

4 Ratings



View License

GPLOTD(A,XY) Plots the Directed Graph represented by adjacency matrix A and points xy using the default style described below
GPLOTD(A,XY,PARAM1,VAL1,...) Plots the Directed Graph using valid parameter name/value pairs

A - NxN adjacency matrix, where A(I,J) is nonzero if and only if there is an edge between points I and J
xy - Nx2 matrix of x/y coordinates
... - Parameter name/value pairs that are consistent with valid PLOT parameters can also be specified

Default Plot Style Details:
1. Undirected (2-way) edges are plotted in solid black lines
2. Directed (1-way) edges are plotted in two styles
a. If the edge connects a larger vertex ID with a smaller ID, the edge is plotted as a blue dashed line
b. If the edge connects a smaller vertex ID with a larger ID, the edge is plotted as a red dotted line
3. Any vertex that is connected to itself is plotted with a black circle around it

Comments and Ratings (9)


I found the GUI a little crude, I found other programmes where the incident matrix is specified far more adaptable and easier to apply


YF (view profile)

Joseph Kirk

Joseph Kirk (view profile)

1. Not sure what you mean by this. There is a '.' Marker used for the nodes.
2. Read the help notes. Rather than using arrows, a different line style is used to represent directed/undirected edges.


YF (view profile)

U`ve done amazing work.But actually,there`re 2 prob. 1,no mark of the nodes,don`t know which node represent which vertice;2,no`s not a 'directed' graph

David Grymin

Doug Harriman

While graphviz is external, Matlab ships with a version of the program. Search for 'mwdot' and 'mwneato' in the bin directory of your install. It provides excellent graph layout functionality.

The Author

Scott - I'll consider making an update with your suggested capability.
Kevin - I submit that MATLAB users should not need external software to perform simple tasks. Besides, up until now, I'd never heard of AT&T graphviz (so there are probably many other MATLAB users that are unaware of it as well - and even after seeing what it has to offer, I'm not convinced it would serve the MATLAB community much better)

Kevin Nasman

Why not just use AT&T graphviz? It works well from Matlab.

Scott Miller

I'm missing the point of why you are plotting directed graphs using a color code based on the relative magnitudes of the ID numbers and the edge direction rather than plotting arrows based on edge direction. There are several nice routines for plotting arrowheads in the FEX, and this should be an option, if not the default.

MATLAB Release
MATLAB 7.4 (R2007a)

Inspired: Plot a Directed Graph (v2.0)

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

» Watch video