MATLAB Answers

remove nodes without changing the numbering of nodes

7 views (last 30 days)
Arpit Dua
Arpit Dua on 9 Jul 2020
Commented: Steven Lord on 8 Aug 2021
I have a graph from which I want to remove nodes but want to keep the labels or the numbering of the nodes as the same before removing nodes. Is that possible with some option?
  1 Comment
MUHAMMAD USMAN
MUHAMMAD USMAN on 7 Aug 2021
When we have 100 of nodes, how can we assigned a label by writting the following command.
G = graph(s,t,[],{'1','2','3','4', ..., '100'});
There is some other way to assign a label to large-size network?

Sign in to comment.

Accepted Answer

Akira Agata
Akira Agata on 10 Jul 2020
How about setting a nodelabel for each node?
The following is an example:
s = [1 1 1 2 2 3];
t = [2 3 4 3 4 4];
% Create a graph G with nodelabel '1',...,'4'
G = graph(s,t,[],{'1','2','3','4'});
% Remove the node 1
G = rmnode(G,1);
% Plot the graph
figure
plot(G)
  1 Comment
Steven Lord
Steven Lord on 8 Aug 2021
If you have too many nodes to manually create the cell array of node names, use a string array.
s = [1 1 1 2 2 3];
t = [2 3 4 3 4 4];
names = string(1:4);
% Create a graph G with nodelabel '1',...,'4'
G = graph(s,t,[], names);
G.Nodes
ans = 4×1 table
Name _____ {'1'} {'2'} {'3'} {'4'}
% Remove the node 1
G = rmnode(G,1);
% Plot the graph
figure
plot(G)

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!

Translated by