Как добавить метки к полярной дендрограмме в MATLAB? - PullRequest
0 голосов
/ 25 сентября 2018

1.) Это код для полярной дендрограммы:

X= rand(100,2);
Y= pdist(X,'cityblock');
Z= linkage(Y,'average');
dendrogram(Z,'colorthreshold','default');

Но я хочу сделать разметку моего файла text.data, как показано в этом вопросе .Я не хочу нумерации меток и хочу, чтобы текст из моего строкового файла


Можем ли мы сделать такую ​​же маркировку в случае полярдендрограммы

polardendrogram(Z,0,'colorthreshold','default');
zoom(0.8);
view(2);

, если у нас есть большие наборы данных дляметки строк?

1 Ответ

0 голосов
/ 26 сентября 2018

Я думаю, вы, вероятно, используете команду polardendrogram из здесь , правильно?

Если так, сладко!Я написал это около двенадцати лет назад - приятно видеть, что кто-то использует его!

Так что, если вы хотите увидеть ярлыки, вам, вероятно, следует сделать это.

  1. Откройте файл polardendrogram.m
  2. Перейти к разделу %Relabel leaves, он начинается со строки 45.
  3. Измените его так, чтобы он говорил следующее:

%Relabel leaves
labels = get(gca, 'XTickLabel');
for i=minx+1:maxx-1
    [x,y]=pol2cart((((i-minx)/xrange)*(pi*11/6))+(pi*1/12),1.1);
    text(x,y,labels{i});
%     text(x,y,num2str(perm(i)));
end

Этот код будет добавлять указанные метки вместо того, чтобы всегда ставить номера строк.


Теперь вы можете назвать это следующим образом:
for i = 1:100
    labels{i} = ['label', num2str(i)];
end
X= rand(100,2);
Y= pdist(X,'cityblock');
Z= linkage(Y,'average');
numNodesToDisplay = size(X,1);
polardendrogram(Z, numNodesToDisplay, 'colorthreshold','default', 'Labels', labels);

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...