Je suis en train de tracer des données (groupes de pays par leurs distances) avec un dendrogramme texte simple qui afficherait dans mon terminal comme celui-ci:Comment afficher un dendrogramme de texte simple dans le terminal?
---- Monaco
----|
---- Croatia
----|
---- Montenegro
----|
---- Serbia
----|
---- Slovenia
----|
---- Austria
----|
---- Switzerland
----|
---- Germany
----|
---- Belgium
----|
---- Netherlands
----|
---- France
----|
---- Sweden
----|
---- Denmark
----|
---- Norway
J'ai données stockées dans une matrice de paires de clusters avec leurs distances, appelées draw_clusters
, et il ressemble à ceci:
['Monaco', [[[[['Croatia ', 'Montenegro ', 1.9148542155126762], ['Serbia ', 'Slovenia ', 2.469532658074352], 2.6659130840453282], ['Austria ', ['Switzerland ', 'Germany', 1.8487591643481294], 2.843561940573178], 3.3080033351363003],['...', '...']...[...]]
jusqu'à présent, j'écrit ce code, mais je ne sais pas comment appeler la fonction récursive afin qu'il tracer le texte dendrogramme dans le terminal:
def draw_dendrogram(draw_clusters):
for cluster in range(len(draw_clusters)):
dendrogram(draw_clusters[cluster], 0, 0, 0)
def dendrogram(cluster, x, y, distance):
node = "|"
vertical_line = "---"
print(cluster)
Quelqu'un peut-il m'aider avec des conseils, parce que je suis nouveau à Python et je ne suis pas vraiment sûr comment la récursivité devrait fonctionner?
Est-ce un arbre toujours binaire? est la troisième valeur numérique dans chaque liste en quelque sorte utilisé? Pouvez-vous donner un exemple plus court mais non tronqué de votre matrice? –