Связанные метки на графике дендрограммы - MATLAB
У меня есть следующий набор данных, хранящихся в файле 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')
Я получаю рисунок ниже:
Таким образом, компоненты кластера 1 составляют 4,3,1 (станции D,C и A, соответственно), а кластеры 2 - 5,2(станции E и B).
Я хочу поставить название станций на участке, но если я использую команду:
set (gca,'YTickLabel', stations.textdata);
На рисунке я получаю следующее:
Как я могу связать данные с соответствующими именами и графиком в дендрограмме. У меня есть 144 станции данных. Я использовал только 5 для иллюстрации.
1 ответ
Решение
Попробуйте следующее:
ind = str2num(get(gca,'YTickLabel'));
set(gca, 'YTickLabel',stations.textdata(ind))
Более простым способом было бы указать метки точек данных в dendrogram
позвоните напрямую:
dendrogram(Z,0, 'Orientation','right', 'Labels',stations.textdata)