How to enlarge node in a graph?
25 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
michio
am 28 Sep. 2016
Bearbeitet: michio
am 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 Kommentare
michio
am 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);
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graph and Network Algorithms finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!