系统树图与自定义着色
99(30天)
显示旧的评论
接受的答案
亚当
2017年2月14日
如果你使用
线=系统树图(…)
语法你会得到一个处理数组作为输出。这将处理行创建。这些可以单独颜色和任何你想要的颜色。我想指定的行命令是leafOrder虽然我没有检查。
X =兰德(10,3);
树=连杆(X,“平均”);
D = pdist (X);
leafOrder = optimalleaforder(树,D);
图()
h =系统树图(树,“重新排序”,leafOrder);
h (1)。颜色=“r”;
h (8)。颜色= (0.5 0 0);
答案(1)
micholeodon
2021年4月14日
编辑:micholeodon
2021年4月14日
这是你如何从你的系统树图得到颜色和链接它与观察。
通过改变颜色的属性下面的行存储在h变量可以改变颜色在你的系统树图。
清晰;关闭所有;clc;
% %生成示例数据
rng (“默认”)%的再现性
N = 10;%的观察
X =兰德(N, 3);
% %获得联系
树=连杆(X,“平均”);
% %获得所需数量的集群
nClusters = 2;
截止=值([树(end-nClusters + 1, 3)树(end-nClusters + 2, 3)));
% %画树
图
h =系统树图(树,“ColorThreshold”,截止);% h包含线对象
% %选取颜色
linesColor = cell2mat (get (h,“颜色”));%得到线颜色;
colorList =独特(linesColor,“行”);
%注意,每一行一行对应的同一行树
%变量。我使用下面的这个性质。
X_color = 0 (N, 3);
X_cluster = 0 (N, 1);
为iLeaf = 1: N
[iRow ~] =找到(树= = iLeaf);
颜色= linesColor (iRow:);% !
%的颜色分配给每一个观察
X_color (iLeaf:) =颜色;
%将集群数量分配给每一个观察
X_cluster (iLeaf:) =找到(ismember (colorList,颜色,“行”));
结束
% %改变线的颜色
h (5)。颜色= [0 1 0]