Я изменил код Matlab предоставленный Робертс и @ Сэм приложил диф файлов:
1c1
< function [h,T,perm] = polardendrogram(Z,varargin)
---
> function [h,T,perm] = polardendrogram(Z, labels, varargin)
47,48c47,49
< [x,y]=pol2cart((((i-minx)/xrange)*(pi*11/6))+(pi*1/12),1.1);
< text(x,y,num2str(perm(i)));
---
> [x,y]=pol2cart((((i-minx)/xrange)*(pi*11/6))+(pi*1/12),1.01);
> THETA = (((i-minx)/xrange)*330 + 15); % pi/12 = 15°
> text(x,y,labels(perm(i)), 'rotation', THETA);
Как вы можете видеть, это требует, чтобы задать метки перед аргументами, как правило, переходят в встроенную функцию Matlab dendrogram(), на которой основана polardendrogram().
Существует, вероятно, более чистый способ сделать это, но этот работает для меня.
Если у вас есть комментарии к этому вопросу, пожалуйста, дайте мне знать.
Большое вам спасибо. Я попробовал функцию полярной дендрограммы. [IMG] http://i45.tinypic.com/14nftax.png [/ IMG] Мне также нужно представить цвета, как в приведенном выше радиальном изображении дендрограммы. Также не могли бы вы сообщить мне, как менять метки в дендрограмме. Еще раз спасибо. – user1214208
Моя функция полярных дендрограмм - это простая обертка вокруг встроенной функции дендрограммы, которая принимает одинаковые входные данные и предоставляет те же возможности для управления цветами и ярлыками в сюжете, которые, к сожалению, немного ограничены. Вы можете точно узнать, что вы можете сделать на странице документации для команды dendrogram. Если вам нужно больше контроля, я боюсь, что вам нужно либо выкопать команду dendrogram, либо изменить ее (не бойтесь, это не так сложно, но сначала возьмите копию существующей версии) - или получите дескрипторы дерева в качестве выходных данных и вручную отключите их. –
Да, я пытаюсь получить обходной путь, используя функцию дендрограммы для изменения меток. – user1214208