树状图中的关联标签 - MATLAB

4

我有以下数据集存储在文件 stations.dat 中:

       Station A 305.2 321.1 420.9 383.5 311.7 197.1 160.2 113.9 60.5 60.5 64.8 154.3
       Station B 281.1 304.0 353.1 231.9 84.6 20.9 11.7 11.9 31.1 75.8 133.0 235.3
       Station C 312.3 342.2 366.2 335.2 200.1  74.4 45.9   27.5 24.0   53.6 87.7 177.0
       Station D 402.2 524.5 554.9 529.5 347.5  176.8 120.2 35.0 12.6 13.3 14.0 61.6
       Station E 261.3 262.7 282.3 232.6 103.8  33.2 16.7   33.2 111.0  149.0 184.8 227.0

通过使用以下命令,

Z = linkage (stations.data,'ward','euc'); 
figure (1), dendrogram(Z,0,'orientation', 'right')

我得到了下面的图形: enter image description here 因此,聚类1包括4、3、1号站(分别为D、C和A站),聚类2包括5、2号站(分别为E和B站)。
我想在绘图中放置站点名称,但如果使用以下命令:
set (gca,'YTickLabel', stations.textdata);

我得到的图形如下所示:enter image description here 我应该如何将数据与相应的名称关联并绘制在树状图中? 我有144个站点的数据,但只使用了5个进行说明。
1个回答

9

请尝试以下方法:

ind = str2num(get(gca,'YTickLabel'));
set(gca, 'YTickLabel',stations.textdata(ind))

更简单的方法是直接在dendrogram调用中指定数据点的标签:
dendrogram(Z,0, 'Orientation','right', 'Labels',stations.textdata)

dendrogram


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接