Error using digraph/subsref

3 views (last 30 days)
economics student
economics student on 11 Sep 2017
Edited: Walter Roberson on 12 Sep 2017
Hi, I have tried to use digraph on a Matlab2016 version.
However the result is: Error using digraph/subsref Method 'subsref' is not defined for class 'digraph' or is removed from MATLAB's search path.
Error in name of program (line 117) plot(G,'Layout','force','EdgeLabel',G.Edges.Weight,'markersize',20)
Warning: Function subsasgn has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.
thanks
  2 Comments
Walter Roberson
Walter Roberson on 11 Sep 2017
Please show us the output of
which plot
I suspect you have created a variable named "plot"
Stephen23
Stephen23 on 12 Sep 2017
Please show us the output of these commands:
which plot -all
which subsasgn -all

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 11 Sep 2017
Edited: Guillaume on 11 Sep 2017
Is there actually a Weight column in your edge table? If you haven't specified a weight of any edge, the Weight column is never created.
I can easily reproduce a similar error in R2017a if the graph does not have weights for the edges. In R2017a, the error message is a bit more detailed:
>> G = digraph([1 1], [2 3]);
>> plot(G,'Layout','force','EdgeLabel',G.Edges.Weight,'markersize',20)
Error using digraph/subsref (line 27)
Unrecognized variable name 'Weight'.
>> G.Edges
ans =
2×1 table
EndNodes
________
1 2
1 3
However,
>> G = digraph([1 1], [2 3], [5 3])
>> plot(G,'Layout','force','EdgeLabel',G.Edges.Weight,'markersize',20)
>> G.Edges
ans =
2×2 table
EndNodes Weight
________ ______
1 2 5
1 3 3
No error
  4 Comments
economics student
economics student on 12 Sep 2017
Edited: Walter Roberson on 12 Sep 2017
The graph is created like this:
G = digraph(ss,tt,weights,names);
plot(G,'Layout','force','EdgeLabel',G.Edges.Weight,'markersize',20)
axis equal off
economics student
economics student on 12 Sep 2017
Hi, thanks again. I have reloaded the program and it seems to work out for some reason. Will certainly take note of your suggestions as well. Best regards.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!