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 contains 2 objects of type line.

関数 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 contains 9 objects of type line, text.

別の方法でツリー構造を表現するには、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.

2 つのツリーをプロットします。ノード 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 contains 2 objects of type line.

入力引数

すべて折りたたむ

親ノードのインデックス。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 として指定します。記号の順番は任意です。3 つの特性 (エッジ スタイル、マーカーおよび色) をすべて指定する必要はありません。たとえば、エッジ スタイルを省略してマーカーを指定する場合、プロットはラインなしでマーカーのみを表示します。

例: '--or' は丸いマーカーをもった赤い破線のエッジです。

エッジ スタイル説明
-実線
--破線
:点線
-.一点鎖線
マーカー説明
'o'
'+'プラス記号
'*'アスタリスク
'.'
'x'十字
'_'水平線
'|'垂直線
's'正方形
'd'菱形
'^'上向き三角形
'v'下向き三角形
'>'右向き三角形
'<'左向き三角形
'p'星形五角形
'h'星形六角形
説明

y

m

マゼンタ

c

シアン

r

g

b

w

k

ヒント

  • あるいは、グラフとネットワークのアルゴリズムを扱うには、graph オブジェクトと digraph オブジェクトを使用します。plot を使用してネットワークを可視化できます。

バージョン履歴

R2006a より前に導入