Question

Je veux afficher de jolis dendrogrammes pour des clusters agglomératifs que je génère en Java. J'écris les clusters dans un fichier au format Newick. Ensuite, je peux obtenir une jolie image qui est presque ce que je veux.

tr = phytreeread('myfile.tree')
phytreetool(tr)

enter image description here

Malheureusement, l'axe X n'est pas ce que je veux. Je préférerais "inverser" l'axe, car les itérations du clustering progressent de droite à gauche, par exemple firstName et setFirstName Soyez en grappe dans la première itération. Quelqu'un sait-il comment je peux faire cela, ou au moins éteindre l'étiquetage de l'axe X? (Quel est l'axe par défaut qui essaie de me le dire de toute façon?)

Était-ce utile?

La solution

Tout d'abord, vous devrez accéder à la poignée des axes dans lesquels le dendrogramme est tracé. Si c'est la seule figure ouverte, vous pouvez utiliser la fonction TROUVER TOUT ainsi:

phyAxes = findall(0,'Type','axes');

Maintenant, ce que tu veux changer not La direction de l'axe X, car cela inversera également le dendrogramme tracé. Vous voulez vraiment changer Étiquettes utilisées pour les marques de tiques de l'axe X. Si vous voulez simplement les désactiver, vous pouvez le faire:

set(phyAxes,'XTick',[]);

Maintenant, je ne sais pas ce que l'axe x est censé vous dire. Dans votre exemple, il apparaît que chaque point de branche est positionné à une valeur entière le long de l'axe x commençant à 0 pour le point de branche le plus gauche (la "racine", je suppose). La branche la plus droite contenant firstName et setFirstName est positionné à une valeur de 21. Si vous souhaitez modifier l'étiquetage de l'axe afin que la branche la plus droite soit à 0 et la branche la plus gauche est à 21, vous pouvez modifier les axes comme suit:

set(phyAxes,'XTick',0:21,'XTickLabel',num2str((21:-1:0).'));

Autres conseils

Cela pourrait vous aider?

set(gca,'XDir','reverse')

ÉDITERVous trouverez peut-être beaucoup d'intéressant ici. Acclamations!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top