Maison > Article > développement back-end > Créez facilement une carte thermique d'arbre avec une seule ligne de code Python
Aujourd'hui, je vais apprendre une technologie de visualisation avec vous : construire une arborescence. Les diagrammes arborescents sont faciles à visualiser et à comprendre. Les Treemaps transmettent différentes tailles de données en affichant des rectangles de différentes tailles. On pense généralement que les rectangles plus grands représentent une grande partie de l'ensemble, tandis que les rectangles plus petits représentent une petite partie de l'ensemble. Dans cet article, Yun Duojun apprendra avec vous comment utiliser la bibliothèque Squarify pour créer un arbre en Python.
Les dendogrammes utilisent des rectangles de différentes tailles imbriqués pour visualiser des données hiérarchiques. La taille de chaque rectangle est proportionnelle à la quantité globale de données qu'il représente. Ces rectangles imbriqués représentent les branches de l'arbre, d'où son nom. En plus de la taille, chaque rectangle a une couleur unique qui représente une catégorie unique. Les Treemaps sont largement utilisés dans des secteurs allant des institutions financières aux organisations commerciales.
Treemap a été inventé pour la première fois au début des années 1990 par le professeur Ben Shneiderman du laboratoire d'interaction homme-machine de l'université du Maryland. L'idée derrière cette visualisation est de comparer des quantités par taille dans un espace fixe. Nous allons maintenant voir comment créer un nuage de mots.
Dendogramme de Floride Source : https://commons.wikimedia.org
En Python, vous pouvez utiliser Squarify pour créer directement un dendrogramme. Et il peut être facilement construit avec une seule ligne de code sqarify.plot(data).
!pip install squarify
import matplotlib.pyplot as plt import squarify
Générez aléatoirement une liste de valeurs qui seront transmises comme données à notre tracé.
data = [500, 250, 60, 120]
Utilisez la méthode **squarify.plot()** pour construire un dendrogramme. Ici, la variable de données aléatoires data est utilisée comme paramètre de cette méthode sqarify.plot. De plus, ajoutez une ligne de code décorateur plt.axis('off') pour masquer les axes du dendrogramme.
squarify.plot(data) plt.axis('off') plt.show()
import matplotlib.pyplot as plt import squarify data = [500, 250, 60, 120] squarify.plot(data) plt.axis('off') plt.show()
Lors de l'exécution de ce code, nous obtenons :
Chaque fois que ce code est exécuté, il génère un ensemble de rectangles imbriqués de couleurs aléatoires.
Avec les paramètres de la méthode .plot(), vous pouvez ajouter plus de décorations au dendrogramme. La couleur, l'étiquette et le remplissage du treemap peuvent être contrôlés en spécifiant explicitement les propriétés.
import matplotlib.pyplot as plt import squarify sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color) plt.axis('off') plt.show()
Lors de l'exécution de ce code, nous obtenons :
Différentes valeurs d'étiquette peuvent être transmises en passant la liste à quadrifier. l'attribut label de plot () pour ajouter explicitement des étiquettes. Cela écrasera les balises existantes ou ajoutera la balise à notre dendrogramme si elle n'existe pas encore. Les étiquettes seront ajoutées au dendrogramme dans le même ordre que dans la liste passée à .plot().
import matplotlib.pyplot as plt import squarify labels = ['A', 'AB', 'ABC', 'ABCD'] sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color, label = labels) plt.axis('off') plt.show()
Lors de l'exécution de ce code, nous obtenons :
Vous pouvez ajouter des tampons dans le dendrogramme pour séparer chaque béton les uns des autres, ce qui aidera à mieux distinguer les rectangles. Ceci est utile lorsqu'il existe un grand nombre de catégories ou de rectangles. Peut être appelé en réglant le paramètre pad sur True.
import matplotlib.pyplot as plt import squarify labels = ['AB', 'A', 'ABC', 'ABCD'] sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color, label = labels, pad = True) plt.axis('off') plt.show()
Lors de l'exécution du code, on obtient :
De ce point de vue, construire un arbre est un jeu d'enfant. En plus de la bibliothèque sqarify, les dendrogrammes peuvent être construits à l'aide de plusieurs autres bibliothèques en Python. Comme la populaire bibliothèque d'intrigues. Dans le deuxième tweet d’aujourd’hui, ses cas d’application sont présentés, les amis intéressés peuvent y jeter un œil.
import plotly_express as px import plotly.graph_objects as go px.treemap(names = name, parents = parent) go.Figure(go.Treemap(labels = name, parents = parent,))
Bien sûr, il existe de nombreux outils BI disponibles pour rendre la création d'arborescences plus pratique et simple.
Parfois, des ambiguïtés peuvent survenir dans le dendrogramme. S'il existe plusieurs catégories avec le même numéro (ou la même taille de rectangle) et la même nuance de couleur, il finit par être difficile pour l'utilisateur de les différencier. Ainsi, lors de la construction d’un dendrogramme, il faut toujours tenir compte du nombre de catégories impliquées et de la cartographie des couleurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!