1

节点 = [0 1 2 3 4 4 3 7 7 2 10 11 11 10 14 14 1 17 18 19 19 18 22 22 17 25 26 26 25 29 29];这是深度 4 树的标准图。它在一个循环中,并被绘制 10 次。现在,这 10 次中的每一次都完成了一些数值计算,并得出了不同的数字。这些数字都指向主数组中的一些单词标签。每次这些数字改变时,索引的单词也会改变,我已经知道如何将它们放置在树中。那么如何用这些字符串标记树呢?

我想,一般的问题是如何用一堆字符串标记一棵树?

4

1 回答 1

1

有点技巧是查看绘制的点,假设它们与向量中的节点有 1-1 对应关系,使用它们的坐标来绘制文本。

treeplot([0 1 1]);  % plot your tree
c = get(gca, 'Children'); % get handles to children
% grab X and Y coords from the second child (the first one is axes)
x = get(c(2), 'XData');
y = get(c(2), 'YData');

现在您可以在这些坐标处绘制任何内容。如果labels是标签元胞数组,则可以在节点旁边显示它们,如下所示:

text(x, y, labels, 'VerticalAlignment','bottom', ...
                         'HorizontalAlignment','right')
于 2012-04-14T01:47:47.850 回答