How to enlarge node in a graph?
37 views (last 30 days)
Show older comments
Hello guys ! First of all sorry for my bad english...
I got Matlab2016, and i would like to know if is possible enlarge a node in a graph. Is there some particular function or not?
My idea is to enlarge one node based on the number of link that it has.. if one node has got many link is BIG, if it has few link is SMALL.
can you help me please?
really thanks to you :D
0 Comments
Accepted Answer
michio
on 28 Sep 2016
Edited: michio
on 28 Sep 2016
highlight function may be the one you are looking for. highlight: Highlight nodes and edges in plotted graph The following is one of the examples from the page above with a slight modification:
n = 8;
A = delsq(numgrid('S',n+2));
G = graph(A,'OmitSelfLoops');
p = plot(G);
highlight(p,36,'MarkerSize',20)
highlight(p,6,'MarkerSize',5)
You can make a specific node bigger. Hope this helps.
4 Comments
michio
on 29 Sep 2016
I thought you wanted do this manually.
degree find the number of links of each node. I think you can make use of this. See Degree of graph nodes.
For example, setting the output of degree to MarkerSize property would enlarge the node to the size which is a function of the number of links. Below, numlinks is squared so that the effect is more visible.
n = 8;
A = delsq(numgrid('S',n+2));
G = graph(A,'OmitSelfLoops');
p = plot(G);
numlinks = degree(G);
p.MarkerSize = numlinks.^2;
You can modify numlinks as you want. Say, if you want to enlarge a node with 2 links:
n = 8;
A = delsq(numgrid('S',n+2));
G = graph(A,'OmitSelfLoops');
p = plot(G);
numlinks = degree(G);
Node2enlarge = find(numlinks == 2);
highlight(p, Node2enlarge);
More Answers (0)
See Also
Categories
Find more on Graph and Network Algorithms in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!