древовидная схема

График древовидной схемы

Синтаксис

dendrogram(tree)
dendrogram(tree,Name,Value)
dendrogram(tree,P)
dendrogram(tree,P,Name,Value)
H = dendrogram(___)
[H,T,outperm] = dendrogram(___)

Описание

пример

dendrogram(tree) генерирует график древовидной схемы иерархического бинарного кластерного дерева. Древовидная схема состоит из многих U - сформированные строки, которые соединяют точки данных в иерархическом дереве. Высота каждого U представляет расстояние между этими двумя соединяемыми точками данных.

  • Если существует 30 или меньше точек данных в исходном наборе данных, то каждый лист в древовидной схеме соответствует одной точке данных.

  • Если существует больше чем 30 точек данных, то коллапсы dendrogram более низкие ответвления так, чтобы было 30 вершин. В результате некоторые листы в графике соответствуют больше чем одной точке данных.

пример

dendrogram(tree,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение".

пример

dendrogram(tree,P) генерирует график древовидной схемы без больше, чем вершин P. Если существуют больше, чем точки данных P в исходном наборе данных, то dendrogram сворачивает более низкие ответвления дерева. В результате некоторые листы в графике соответствуют больше чем одной точке данных.

dendrogram(tree,P,Name,Value) дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение".

пример

H = dendrogram(___) генерирует график древовидной схемы и возвращает вектор указателей строки. Можно использовать любой из входных параметров от предыдущих синтаксисов.

пример

[H,T,outperm] = dendrogram(___) также возвращает вектор, содержащий номер вершины для каждого объекта в исходном наборе данных, T и векторе, дающем распоряжение меток узла листов как показано в древовидной схеме, outperm.

  • Полезно возвратить T, когда количество вершин, P, является меньше, чем общее количество точек данных, так, чтобы некоторые вершины в отображении соответствовали нескольким точкам данных.

  • Порядок меток узла, данных в outperm, слева направо для горизонтальной древовидной схемы, и от нижней части до верхней части для вертикальной древовидной схемы.

Примеры

свернуть все

Сгенерируйте выборочные данные.

rng('default') % For reproducibility
X = rand(10,3);

Создайте иерархическое бинарное кластерное дерево с помощью linkage. Затем постройте древовидную схему с помощью опций по умолчанию.

tree = linkage(X,'average');

figure()
dendrogram(tree)

Сгенерируйте выборочные данные.

rng('default') % For reproducibility
X = rand(10,3);

Создайте иерархическое бинарное кластерное дерево с помощью linkage.

tree = linkage(X,'average');

D = pdist(X);
leafOrder = optimalleaforder(tree,D)
leafOrder = 1×10

     3     7     6     1     4     9     5     8    10     2

Постройте древовидную схему с помощью оптимального листового порядка.

figure()
dendrogram(tree,'Reorder',leafOrder)

Порядок вершин в графике древовидной схемы соответствует - слева направо - к перестановке в leafOrder.

Сгенерируйте выборочные данные.

rng('default') % For reproducibility
X = rand(100,2);

Существует 100 точек данных в исходном наборе данных, X.

Создайте иерархическое бинарное кластерное дерево с помощью linkage. Затем постройте древовидную схему для полного дерева (100 вершин) путем установки входного параметра P, равный 0.

tree = linkage(X,'average');
dendrogram(tree,0)

Теперь, постройте древовидную схему только с 25 вершинами. Возвратите отображение исходных точек данных к вершинам, показанным в графике.

figure
[~,T] = dendrogram(tree,25);

Перечислите исходные точки данных, которые находятся в вершине 7 из графика древовидной схемы.

find(T==7)
ans = 7×1

     7
    33
    60
    70
    74
    76
    86

Сгенерируйте выборочные данные.

rng('default') % For reproducibility
X = rand(10,3);

Создайте иерархическое бинарное кластерное дерево с помощью linkage. Затем постройте древовидную схему с вертикальной ориентацией, с помощью порога цвета по умолчанию. Возвратите указатели на строки, таким образом, можно изменить ширины строки древовидной схемы.

tree = linkage(X,'average');
H = dendrogram(tree,'Orientation','left','ColorThreshold','default');
set(H,'LineWidth',2)

Входные параметры

свернуть все

Иерархическое бинарное кластерное дерево, заданное как (M – 1)-by-3 матрица, что вы генерируете использование linkage, где M является количеством точек данных в исходном наборе данных.

Максимальное количество вершин, чтобы включать в график древовидной схемы, заданный как положительное целочисленное значение.

  • Если существует P или меньше точек данных в исходном наборе данных, то каждый лист в древовидной схеме соответствует одной точке данных.

  • Если существуют больше, чем точки данных P, то коллапсы dendrogram более низкие ответвления так, чтобы были вершины P. В результате некоторые листы в графике соответствуют больше чем одной точке данных.

    Если вы не задаете P, то dendrogram использует 30 в качестве максимального количества вершин. Чтобы отобразить полное дерево, установите P, равный 0.

Типы данных: single | double

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Orientation','left','Reorder',myOrder задает вертикальную древовидную схему с листами в порядке, заданном myOrder.

Порядок вершин в графике древовидной схемы, заданном как пара, разделенная запятой, состоящая из 'Reorder' и вектора, дающего распоряжение узлов в полном дереве. Вектор порядка должен быть перестановкой векторного 1:M, где M является количеством точек данных в исходном наборе данных. Задайте порядок слева направо для горизонтальных древовидных схем, и от нижней части до верхней части для вертикальных древовидных схем.

Если M больше, чем количество вершин в графике древовидной схемы, P (по умолчанию, P равняется 30), то можно только задать вектор перестановки, который не разделяет группы листов, которые соответствуют свернутым узлам.

Типы данных: single | double

Индикатор для того, проверять ли на пересечение ответвлений в графике древовидной схемы, заданном как пара, разделенная запятой, состоящая из 'CheckCrossing' и или true или false. Эта опция только полезна, когда вы задаете значение для Reorder.

Когда CheckCrossing имеет значение true, dendrogram выдает предупреждение если порядок причин вершин, пересекающих ответвления в графике. Если график древовидной схемы не показывает полное дерево (потому что количество точек данных в исходном наборе данных больше, чем P), dendrogram только выдает предупреждение, когда порядок вершин заставляет ответвление пересекаться в древовидной схеме как показано в графике. Таким образом, нет никакого предупреждения если причины порядка, пересекающие ответвления в полном дереве, но не в древовидной схеме как показано в графике.

Типы данных: логический

Порог для уникальных цветов в графике древовидной схемы, заданном как пара, разделенная запятой, состоящая из 'ColorThreshold' и или 'default' или скалярное значение в области значений (0,max(tree(:,3))). Если ColorThreshold имеет значение T, то dendrogram присваивает уникальный цвет каждой группе узлов в древовидной схеме, связь которой является меньше, чем T.

  • Если ColorThreshold имеет значение 'default', то порог, T, составляет 70% максимальной связи, 0.7*max(tree(:,3)).

  • Если вы не задаете значение для ColorThreshold, или если вы задаете порог вне области значений (0,max(tree(:,3))), то dendrogram использует только один цвет для графика древовидной схемы.

Ориентация древовидной схемы в окне рисунка, заданном как пара, разделенная запятой, состоящая из 'Orientation' и одно из этих значений:

'top'От начала до конца
'bottom'Нижняя часть к верхней части
'left'Слева направо
'right'Справа налево

Маркируйте для каждой точки данных в исходном наборе данных, заданном как пара, разделенная запятой, состоящая из 'Labels' и символьного массива, массива строк или массива ячеек из символьных векторов. dendrogram маркирует любые листы в графике древовидной схемы, содержащем одну точку данных с меткой той точки данных.

Выходные аргументы

свернуть все

Указатели на строки в графике древовидной схемы, возвращенном как вектор.

Числа вершины для каждой точки данных в исходном наборе данных, возвращенном как вектор-столбец длины M, где M является количеством точек данных в исходном наборе данных.

Когда существуют меньше, чем точки данных P в исходных данных (P равняется 30, по умолчанию), все точки данных отображены в древовидной схеме с каждым узлом, содержащим одну точку данных. В этом случае T является единичной картой, T = (1:M)'.

T полезен, когда P является меньше, чем общее количество точек данных. Таким образом, когда некоторые вершины в отображении древовидной схемы соответствуют нескольким точкам данных. Например, чтобы узнать, какие точки данных содержатся в вершине k графика древовидной схемы, используйте find(T==k).

Перестановка меток узла листов древовидной схемы как показано в графике, возвращенном как вектор - строка. outperm дает распоряжение слева направо горизонтальной древовидной схеме, и от нижней части до верхней части для вертикальной древовидной схемы. Если существуют листы P в графике древовидной схемы, outperm является перестановкой векторного 1:P.

Смотрите также

| | | | | |

Представлено до R2006a