Remove nodes in a graph based on label name instead of index
2 views (last 30 days)
Show older comments
I am fairly new to Matlab and trying to modify a network graph.
I want to remove nodes in a graph based on node's label name instead of the node's index. Using the screenshot as an example, I would like to remove node that has name of '12'(underline in blue) instead of node that has an index of 12(underline in red). Is there a way to do so?
I try
G = rmnode(G,G.Nodes.Name=='12')
But get error message: Operate '==' is not supported for operands of type 'cell'.
Thanks for any suggestions.
0 Comments
Accepted Answer
Steven Lord
on 20 Jul 2022
B = graph(bucky, string(1:60)); % Use '1' through '60' as names
head(B.Nodes) % Show the first few node names
B2 = rmnode(B, '42');
B2.Nodes(40:45, :) % No node '42' in the modified graph's Nodes table
0 Comments
More Answers (0)
See Also
Categories
Find more on Graph and Network Algorithms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!