首页 > 解决方案 > 如何在 MATLAB 中向极性树状图添加标签?

问题描述

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);

如果我们有行标签的大数据集?

标签: matlab

解决方案


我认为您可能正在使用此处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

此代码将添加指定的标签,而不是总是放入行号。


  1. 现在您可以按如下方式调用它:

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);

祝你好运!


推荐阅读