Main Content

treeplot

绘制树形图

说明

示例

treeplot(p) 绘制一个或多个指定为父索引行向量的树。p(i) = j 表示节点 j 是节点 i 的父节点,p(i) = 0 表示节点 i 是根节点。

示例

treeplot(p,NodeSpec,EdgeSpec) 设置树形图中节点和边的线型、标记符号和颜色。使用 '' 省略 NodeSpecEdgeSpec 参量。

示例

全部折叠

绘制一个包含 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)

使用 treelayout 函数生成树节点的坐标。添加文本描述以显示树形图中的节点索引。将文本标签放置在对应节点的右侧 0.02 个单位处。

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

表示树状结构的另一种方法是使用 digraph 对象。然后,您可以使用 plot 可视化该结构体。

使用成对指定有向图边 (s,t) 的语法 digraph(s,t) 创建一个 digraph 对象。使用 plot 可视化树。通过将 ShowArrows 选项设置为 false 来隐藏从父节点到子节点的箭头。

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

绘制两个树。通过将节点 1 和节点 7 的父索引设置为 0,将它们指定为根节点。对节点使用蓝色圆圈,对边使用具有交叉标记的红色点线。

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

输入参数

全部折叠

父节点的索引,指定为由小于或等于 length(p) 的正整数组成的行向量。

  • 如果节点 i 是根节点,则将 p(i) 指定为 0

  • 如果节点 i 有父节点,则将 p(i) 指定为节点 i 的父节点。

数据类型: double

节点标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。您不需要同时指定标记和颜色。例如,如果指定标记并省略颜色,则绘图仅显示默认为红色的标记。

示例: 'ob' 表示蓝色圆形标记

标记描述
'o'圆圈
'+'加号
'*'星号
'.'
'x'叉号
'_'水平线条
'|'垂直线条
's'方形
'd'菱形
'^'上三角
'v'下三角
'>'右三角
'<'左三角
'p'五角形
'h'六角形
颜色描述

y

黄色

m

品红色

c

青蓝色

r

红色

g

绿色

b

蓝色

w

白色

k

黑色

边样式、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。您不需要同时指定所有三个特征(边样式、标记和颜色)。例如,如果忽略边样式,只指定标记,则绘图只显示标记,不显示线条。

示例: '--or' 是具有圆形标记的红色虚线边

边样式描述
-实线
--虚线
:点线
-.点划线
标记描述
'o'圆圈
'+'加号
'*'星号
'.'
'x'叉号
'_'水平线条
'|'垂直线条
's'方形
'd'菱形
'^'上三角
'v'下三角
'>'右三角
'<'左三角
'p'五角形
'h'六角形
颜色描述

y

黄色

m

品红色

c

青蓝色

r

红色

g

绿色

b

蓝色

w

白色

k

黑色

提示

  • 或者,使用 graphdigraph 对象来处理图和网络算法。您可以使用 plot 可视化网络。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | |