Objects names in dendrogram

Hello, I didn't find a way for labeling the objects in a dendrogram.
The code I'm using is like this:
A = dataset('XLSFile','MyExcelFile.xlsx');
MyVars = double(A(:,{'Var1', 'Var2', 'Var3'}));
clustVars = pdist(MyVars,'euclidean');
linkVars = linkage(clustVars,'average');
[h,nodes] = dendrogram(linkVars,0);
  1. Load the Excel file into a dataset array
  2. Create a double-precision array containing the variables
  3. Compute the Euclidean distance
  4. Execute the clustering method
  5. Draw the dendrogram
In my dataset array A I have a variable that contains the names of the vectors.
Of course I can't include that variable in the analysis.
Can somebody explain me how to label the objects in a cluster analysis using that variable, let's call it objNames?
Thanks in advance,
Diego

3 Comments

Well this way I can put the names of the objects in the tree
S = cellstr(A(:,{'objNames'}));
[h,nodes] = dendrogram(linkVars,0,'labels',S);
However the horizontal orientation of the names doesn't allow me to read them.
How can I rotate the names to a vertical orientation?
Thanks
Diego
Diego on 10 Oct 2012
Edited: Diego on 10 Oct 2012
... and this way seems to be better for clarity:
[h,nodes] = dendrogram(linkVars,'colorthreshold','default');
find(nodes==29)
How can I add the names of the objects directly with the find function?
Well this seems to work good enough:
A = dataset(find(nodes),nodes,S)
sortrows(A,2)

Sign in to comment.

Answers (0)

Categories

Asked:

on 10 Oct 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!