Main Content

treeplot

트리 그림 플로팅

설명

예제

treeplot(p)는 부모 인덱스의 행 벡터로 지정된 하나 이상의 트리를 플로팅합니다. p(i) = j는 노드 j가 노드 i의 부모 노드임을 나타내며, p(i) = 0은 노드 i가 루트 노드임을 나타냅니다.

예제

treeplot(p,NodeSpec,EdgeSpec)은 트리 플롯 내 노드 및 간선의 선 스타일, 마커 기호, 색을 설정합니다. NodeSpec 또는 EdgeSpec을 생략하려면 ''를 사용하십시오.

예제

모두 축소

노드가 7개인 이진 트리를 플로팅합니다.

각 요소가 부모 노드의 인덱스인 행 벡터를 지정합니다. 값이 0인 루트 노드를 지정합니다. 예를 들면 노드 1의 부모를 2로, 노드 2의 부모를 4로, 노드 3의 부모를 2로, 이런 식으로 계속 지정합니다.

p = [2 4 2 0 6 4 6]
p = 1×7

     2     4     2     0     6     4     6

treeplot을 사용하여 이진 트리를 플로팅합니다.

treeplot(p)

Figure contains an axes object. The axes object with xlabel height = 2 contains 2 objects of type line. One or more of the lines displays its values using only markers

treelayout 함수를 사용하여 트리 노드의 좌표를 생성합니다. 트리 플롯 내의 노드 인덱스를 나타내는 텍스트 설명을 추가합니다. 텍스트 레이블을 해당 노드에서 오른쪽으로 0.02 유닛 떨어진 곳에 배치합니다.

[x,y] = treelayout(p);
text(x + 0.02,y,{1,2,3,4,5,6,7})

Figure contains an axes object. The axes object with xlabel height = 2 contains 9 objects of type line, text. One or more of the lines displays its values using only markers

트리 구조를 나타내는 또 한 가지 방법은 digraph 객체를 사용하는 것입니다. 그런 다음 plot을 사용하여 구조를 시각화할 수 있습니다.

유방향 그래프 간선 (s,t)를 쌍으로 지정하는 digraph(s,t) 구문을 사용하여 digraph 객체를 만듭니다. plot을 사용하여 트리를 시각화합니다. ShowArrows 옵션을 false로 설정하여 부모 노드에서 자식 노드로 향하는 화살표를 표시하지 않습니다.

g = digraph(p(p~=0),find(p));
plot(g,"ShowArrows",false)

Figure contains an axes object. The axes object contains an object of type graphplot.

두 개의 트리를 플로팅합니다. 노드 1 및 노드 7의 부모 인덱스를 0으로 설정하여 두 노드를 루트 노드로 지정합니다. 노드에는 파란색 원을 사용하고, 간선에는 빨간색 점선을 사용합니다.

p = [0 1 1 2 3 3 0 7 7];
treeplot(p,'bo','rx:')

Figure contains an axes object. The axes object with xlabel height = 2 contains 2 objects of type line. One or more of the lines displays its values using only markers

입력 인수

모두 축소

부모 노드의 인덱스로, length(p)보다 작거나 같은 양의 정수로 구성된 행 벡터로 지정됩니다.

  • 노드 i가 루트 노드인 경우 p(i)0으로 지정합니다.

  • 노드 i에 부모 노드가 있는 경우 p(i)를 노드 i의 부모 노드로 지정합니다.

데이터형: double

노드 마커와 색으로, 기호를 포함하는 문자형 벡터 또는 string형으로 지정됩니다. 기호는 어떤 순서로 지정해도 좋습니다. 두 가지(마커와 색) 중 하나를 지정하지 않아도 됩니다. 예를 들어 색을 생략하고 마커를 지정하면 플롯은 기본 빨간색으로 마커만 표시합니다.

예: 'ob'는 파란색으로 원 마커를 나타냅니다.

마커설명
'o'
'+'플러스 기호
'*'별표
'.'
'x'십자
'_'가로선
'|'세로선
's'정사각형
'd'다이아몬드
'^'위쪽 방향 삼각형
'v'아래쪽 방향 삼각형
'>'오른쪽 방향 삼각형
'<'왼쪽 방향 삼각형
'p'펜타그램
'h'헥사그램
설명

y

노란색

m

자홍색

c

녹청색

r

빨간색

g

녹색

b

파란색

w

흰색

k

검은색

간선 스타일, 마커, 색으로, 기호를 포함하는 문자형 벡터 또는 string형으로 지정됩니다. 기호는 어떤 순서로 지정해도 좋습니다. 세 가지 특성(간선 스타일, 마커, 색)을 모두 지정할 필요는 없습니다. 예를 들어 간선 스타일을 생략하고 마커를 지정하면 플롯은 마커만 표시하고 선은 표시하지 않습니다.

예: '--or'은 원 마커로 표시된 빨간색 파선 간선입니다.

간선 스타일설명
-실선
--파선
:점선
-.일점 쇄선
마커설명
'o'
'+'플러스 기호
'*'별표
'.'
'x'십자
'_'가로선
'|'세로선
's'정사각형
'd'다이아몬드
'^'위쪽 방향 삼각형
'v'아래쪽 방향 삼각형
'>'오른쪽 방향 삼각형
'<'왼쪽 방향 삼각형
'p'펜타그램
'h'헥사그램
설명

y

노란색

m

자홍색

c

녹청색

r

빨간색

g

녹색

b

파란색

w

흰색

k

검은색

  • 또는 그래프와 네트워크 알고리즘을 사용하려면 graph 객체와 digraph 객체를 사용하십시오. plot을 사용하면 네트워크를 시각화할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |