添加节点编号/从MATLAB'获取节点位置;s树坪

添加节点编号/从MATLAB'获取节点位置;s树坪,matlab,tree,plot,Matlab,Tree,Plot,我一直在使用MATLAB的函数,但它似乎提供的绘图功能和/或可扩展性非常少 我正在画一棵这样的树: tree = [0 1 2 2 2 2 2 1 8 8 1 11 11 1 14]; treeplot(tree) 给予: 我想做的是向特定节点添加注释或标签。一个好的开端是向每个节点添加节点编号,如帮助文件中的示例所示: 但正如他们所说: 这些指数仅用于说明示例;它们不是树地块输出的一部分。 是否有办法获得绘制节点的位置,或者至少绘制节点编号?我找不到任何具有更

我一直在使用MATLAB的函数,但它似乎提供的绘图功能和/或可扩展性非常少

我正在画一棵这样的树:

tree = [0  1  2  2  2  2  2  1  8  8  1  11  11  1  14];
treeplot(tree)
给予:

我想做的是向特定节点添加注释或标签。一个好的开端是向每个节点添加节点编号,如帮助文件中的示例所示:

但正如他们所说:

这些指数仅用于说明示例;它们不是树地块输出的一部分。 是否有办法获得绘制节点的位置,或者至少绘制节点编号?我找不到任何具有更高级树形图的FEX提交


最后,我希望在节点处绘制小图片(使用来自的方法)

要获取节点的位置,请使用


向量x和y为您提供了位置,然后您可以使用这些位置在节点处绘制图像。

这将有助于您创建标记树: (您提供“treeVec”。)

通过示例输入,这将提供

我的网站上的这些图片通常会丢失或被过滤掉。我不知道。。。我把它们都展示在这里了。第一个是我制作并上传的,第二个最初来自MathWorks网站(但我相信现在这两个网站都托管在
I.imgur
)。
[x,y]=treelayout(tree);
treeplot(treeVec);
count = size(treeVec,2);
[x,y] = treelayout(treeVec);
x = x';
y = y';
name1 = cellstr(num2str((1:count)'));
text(x(:,1), y(:,1), name1, 'VerticalAlignment','bottom','HorizontalAlignment','right')
title({'Level Lines'},'FontSize',12,'FontName','Times New Roman');