Error when plotting a small digraph

2 views (last 30 days)
Running
figure; plot(digraph([0,0,1;1,0,0;1,0,0]))
on R2016a throws the error
Error using svd
Input to SVD must not contain NaN or Inf.
Error in orth (line 15)
[Q,S] = svd(A,'econ'); %S is always square.
Error in matlab.internal.graph.MLGraph/subspaceLayout>layoutOneConnComp (line 55)
M = orth(M);
Error in matlab.internal.graph.MLGraph/subspaceLayout (line 29)
xy = layoutOneConnComp(G,dim,1:G.NodeCount,L,deg);
Error in matlab.graphics.chart.primitive.GraphPlot/layoutforce
Error in matlab.graphics.chart.primitive.GraphPlot/layout>layoutauto
Error in matlab.graphics.chart.primitive.GraphPlot/layout
Error in matlab.graphics.chart.primitive.GraphPlot
Error in digraph/plot (line 96)
hObj = matlab.graphics.chart.primitive.GraphPlot('BasicGraph', ...
Using (e.g.) the circle layout works fine. Is there a workaround that lets me use the default/force layout or must I resort to something like a try/catch?
  5 Comments
Steve Huntsman
Steve Huntsman on 15 Feb 2018
Good to know I'm not doing something wrong. I'll work around it until I install R2018a.

Sign in to comment.

Accepted Answer

Christine Tobler
Christine Tobler on 15 Feb 2018
This bug was fixed in R2016b. I'm afraid there is no workaround except to check for the error and use another layout method ('circle' or 'layered'). This bug applies to a small set of directed graphs, undirected graphs are not affected.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!