TreePlot字符串标记MATLAB

时间:2012-04-13 21:15:49

标签: matlab

nodes = [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次中的每一次都进行了一些数值计算,并且提出了不同的数字。这些数字都指向主阵列中的一些单词标签。每次这些数字改变时,索引的单词也会改变,我已经知道如何将它们放在树中。如何用这些字符串标记树呢?

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

1 个答案:

答案 0 :(得分: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')