Heim  >  Artikel  >  Backend-Entwicklung  >  Erstellen Sie ganz einfach eine Baum-Heatmap mit einer Zeile Python-Code

Erstellen Sie ganz einfach eine Baum-Heatmap mit einer Zeile Python-Code

WBOY
WBOYnach vorne
2023-04-19 15:17:241853Durchsuche

Erstellen Sie ganz einfach eine Baum-Heatmap mit einer Zeile Python-Code

Heute lerne ich mit Ihnen eine Visualisierungstechnologie: das Erstellen einer Baumkarte. Baumdiagramme sind leicht zu visualisieren und leicht zu verstehen. Baumkarten vermitteln unterschiedliche Datengrößen, indem sie Rechtecke unterschiedlicher Größe anzeigen. Es wird allgemein angenommen, dass größere Rechtecke einen großen Teil des Ganzen darstellen, während kleinere Rechtecke einen kleinen Teil des Ganzen darstellen. In diesem Artikel lernt Yun Duojun mit Ihnen, wie Sie mit der Squarify-Bibliothek ein Baumdiagramm in Python erstellen.

Einführung

Dendogramme verwenden ineinander verschachtelte Rechtecke unterschiedlicher Größe, um hierarchische Daten zu visualisieren. Die Größe jedes Rechtecks ​​ist proportional zur Gesamtdatenmenge, die es darstellt. Diese verschachtelten Rechtecke stellen die Zweige des Baums dar, daher der Name. Zusätzlich zur Größe hat jedes Rechteck eine einzigartige Farbe, die eine einzigartige Kategorie darstellt. Baumkarten werden häufig in Branchen eingesetzt, von Finanzinstituten bis hin zu Vertriebsorganisationen.

Treemap wurde erstmals in den frühen 1990er Jahren von Professor Ben Shneiderman vom Human-Computer Interaction Laboratory der University of Maryland erfunden. Die Idee hinter dieser Visualisierung besteht darin, Mengen nach Größe in einem festen Raum zu vergleichen. Nun schauen wir uns an, wie man tatsächlich eine Wortwolke erstellt.

Erstellen Sie ganz einfach eine Baum-Heatmap mit einer Zeile Python-Code

Dendogramm von Florida Quelle: https://commons.wikimedia.org

Erstellen eines Dendrogramms mit Squarify

In Python können Sie Squarify verwenden, um direkt ein Dendrogramm zu erstellen. Und es kann einfach mit nur einer Codezeile sqarify.plot(data) erstellt werden.

1. Installieren Sie die erforderlichen Bibliotheken

!pip install squarify

2. Importieren Sie die erforderlichen Bibliotheken

import matplotlib.pyplot as plt
import squarify
.

data = [500, 250, 60, 120]

4. Zeichnen Sie ein Dendrogramm

Verwenden Sie die Methode **squarify.plot()**, um ein Dendrogramm zu erstellen. Hier wird die Zufallsdatenvariable data als Parameter dieser sqarify.plot-Methode verwendet. Fügen Sie außerdem eine Zeile Dekoratorcode plt.axis('off') hinzu, um die Achsen des Dendrogramms auszublenden.

squarify.plot(data)
plt.axis('off')
plt.show()

5. Füge sie zusammen

import matplotlib.pyplot as plt
import squarify
data = [500, 250, 60, 120]
squarify.plot(data)
plt.axis('off')
plt.show()

Wenn wir diesen Code ausführen, erhalten wir:

Jedes Mal, wenn dieser Code ausgeführt wird, generiert er eine Reihe verschachtelter Rechtecke mit zufälligen Farben. Erstellen Sie ganz einfach eine Baum-Heatmap mit einer Zeile Python-Code

Verwendung zusätzlicher Parameter

Mit Hilfe der Parameter der .plot()-Methode können Sie dem Dendrogramm weitere Dekorationen hinzufügen. Farbe, Beschriftung und Füllung der Baumkarte können durch explizite Angabe von Eigenschaften gesteuert werden.

1. Geben Sie die Farbe des Dendrogramms an.

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()
. Das label-Attribut von plot() ermöglicht das explizite Hinzufügen von Labels. Dadurch werden vorhandene Tags überschrieben oder das Tag zu unserem Dendrogramm hinzugefügt, falls es noch nicht vorhanden ist. Beschriftungen werden dem Dendrogramm in derselben Reihenfolge hinzugefügt wie in der an .plot() übergebenen Liste.

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

Wenn wir diesen Code ausführen, erhalten wir:

Erstellen Sie ganz einfach eine Baum-Heatmap mit einer Zeile Python-Code3. Pads im Dendrogramm

Sie können Pads im Dendrogramm hinzufügen, um jeden Beton im Dendrogramm voneinander zu trennen, was zur besseren Unterscheidung von Rechtecken beiträgt. Dies ist nützlich, wenn eine große Anzahl von Kategorien oder Rechtecken vorhanden ist. Kann aufgerufen werden, indem der Pad-Parameter auf True gesetzt wird.

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

Beim Ausführen des Codes erhalten wir:

Erstellen Sie ganz einfach eine Baum-Heatmap mit einer Zeile Python-CodeAm Ende geschrieben

Aus dieser Sicht ist das Erstellen eines Baumdiagramms ein Kinderspiel. Zusätzlich zur Squarify-Bibliothek können Dendrogramme mit mehreren anderen Bibliotheken in Python erstellt werden. Wie zum Beispiel die beliebte Plotly-Bibliothek. Im heutigen zweiten Tweet werden seine Anwendungsfälle vorgestellt, interessierte Freunde können einen Blick darauf werfen.

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

Natürlich gibt es viele BI-Tools, mit denen Sie Baumdiagramme bequemer und einfacher erstellen können.

Manchmal können Unklarheiten im Dendrogramm auftreten. Wenn es mehrere Kategorien mit derselben Nummer (oder Rechteckgröße) und demselben Farbton gibt, ist es für den Benutzer letztendlich schwierig, zwischen ihnen zu unterscheiden. Wenn Sie also ein Dendrogramm erstellen, müssen Sie immer die Anzahl der beteiligten Kategorien und die Farbzuordnung berücksichtigen.

Das obige ist der detaillierte Inhalt vonErstellen Sie ganz einfach eine Baum-Heatmap mit einer Zeile Python-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen