How to enlarge node in a graph?
조회 수: 38 (최근 30일)
이전 댓글 표시
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
채택된 답변
michio
2016년 9월 28일
편집: michio
2016년 9월 28일
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
michio
2016년 9월 29일
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);
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Graph and Network Algorithms에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!