生成错误的树状图

时间:2017-06-19 22:06:50

标签: matlab matlab-figure hierarchical-clustering linkage dendrogram

我有31个数据,但dendrogram缺少一个数据。这是我的代码:

A = csvread('similarityNoGrpS2.csv',1,1) % 31x31 double
Z = linkage(A, 'average') % 30x3 double
H = dendrogram(Z,'Orientation','left','ColorThreshold','default') %29x1 line

我的输入文件可以找到here

这是我的dendrogram

output

根据Z(24,30)(27,31)应该被群集,但在dendrogram图片中,我们可以看到没有31和{{1正在与27聚集,这是错误的!

有人可以帮我解决这个问题吗?

P.S。我正在使用MATLAB R2016a。

1 个答案:

答案 0 :(得分:2)

您需要将代码的最后一行修改为:

H = dendrogram(Z, 0, 'Orientation', 'left', 'ColorThreshold', 'default');

对于给定的数据给出:

enter image description here

说明

您的 原始数据集 A)的点数超过30但您没有指定P的值。它在documentation中提到:

  

如果未指定P,则dendrogram使用30作为叶节点的最大数量。 要显示完整的树,请将P设置为0

因此您需要将P=0置于此语法中:

dendrogram(tree,P,Name,Value)