So implementieren Sie eine visuelle Heatmap in Python
In diesem Artikel wird hauptsächlich die Implementierung einer visuellen Heatmap in Python vorgestellt. Der Herausgeber findet es ziemlich gut. Jetzt werde ich es mit Ihnen teilen und als Referenz geben. Folgen wir dem Editor, um einen Blick darauf zu werfen
Heatmap
1. Verwenden Sie die Heatmap, um die Ähnlichkeit mehrerer Features in der Datentabelle zu sehen. Beachten Sie die offiziellen API-Parameter und die Adresse:
seaborn.heatmap(data, vmin=None, vmax=None,cmap=None, center=None, robust=False, annot=None , fmt ='.2g', annot_kws=None,linewidths=0, linecolor='white', cbar=True, cbar_kws=None, cbar_ax=None,square=False, xticklabels='auto', yticklabels='auto', mask= None, ax=None,**kwargs)
(1) Heatmap-Eingabedatenparameter:
Daten: Matrixdatensatz Ja, es ist ein Array von Numpy oder es kann ein DataFrame von Pandas sein. Wenn es sich um einen DataFrame handelt, entsprechen die Index-/Spalteninformationen von df den Spalten bzw. Zeilen der Heatmap, d. h. pt.index ist die Zeilenbezeichnung der Heatmap und pt.columns die Spaltenbezeichnung der Heatmap Heatmap
(2) Heatmap-Matrixblock-Farbparameter:
vmax, vmin: jeweils der maximale und minimale Bereich der Farbwerte der Heatmap. Der Standardwert wird basierend auf dem Wert in der Datentabelle
cmap bestimmt: Bei der Zuordnung von Zahlen zum Farbraum ist der Wert der Farbkartenname oder das Farbobjekt im Matplotlib-Paket oder eine Liste, die Farben darstellt; Ändern Sie den Standardwert des Parameters: Stellen Sie ihn entsprechend dem Mittenparameter ein.
Mitte: Wenn es Unterschiede in den Datentabellenwerten gibt, legen Sie den Farbmittenausrichtungswert der Wärmekarte fest, indem Sie den Mittenwert festlegen. Sie können die Gesamttiefe der generierten Bildfarbe anpassen. Wenn es zu einem Datenüberlauf kommt, ändern sich die eingestellten vmax und vmin automatisch
robust: Der Standardwert ist False; Wenn es „Falsch“ ist und die Werte von vmin und vmax nicht festgelegt sind, basiert der Farbzuordnungsbereich der Wärmekarte auf der robusten Quantileinstellung und nicht auf der Extremwerteinstellung
(3) Wärmekartenmatrix Blockanmerkungsparameter:
annot (Abkürzung für annotate) : Standardwert: Falsch, wenn es wahr ist, schreiben Sie Daten in jedes Quadrat der Wärmekarte, wenn es sich um eine Matrix handelt. Schreiben Sie die entsprechenden Positionsdaten der Matrix in jedes Quadrat der Wärmekarte
fmt: Zeichenfolgenformat Code, Datenformat zur Identifizierung von Zahlen auf der Matrix, z. B. Beibehaltung mehrerer Nachkommastellen
annot_kws: Der Standardwert ist False; wenn er True ist, legen Sie die Größe, Farbe und Schriftart der Zahlen in der Heatmap-Matrix fest, Matplotlib-Paket Schriftarteneinstellungen unter der Textklasse; >
Linienbreiten: Definieren Sie die Heatmap „Die Lückengröße zwischen „Matrixfeldern, die paarweise Merkmalsbeziehungen darstellen“
Linienfarbe: Die Farbe der Linie, die jedes Matrixfeld auf der Wärmekarte teilt. Der Standardwert ist „Weiß“
cbar: Gibt an, ob ein Farbskalenbalken an der Seite der Wärmekarte gezeichnet werden soll. Der Standardwert ist True.
cbar_kws: Beim Zeichnen von Farbskalenbalken an der Seite der Wärmekarte Seite der Wärmekarte, die relevanten Schriftarteinstellungen, der Standardwert ist Keine
cbar_ax: Beim Zeichnen der Farbskalenbalken auf der Seite der Wärmekarte, die Einstellungen für die Position der Maßstabsbalken, der Standardwert ist Keine
(6) Quadrat: Legen Sie die Form der Heatmap-Matrix fest, der Standardwert ist False
xticklabels, yticklabels:xticklabels steuert die Ausgabe von Labelnamen für jede Spalte; yticklabels steuert die Ausgabe von Labelnamen für jede Zeile. Der Standardwert ist „Auto“. Bei True wird der Spaltenname des DataFrame als Labelname verwendet. Bei „Falsch“ werden keine Zeilenbeschriftungsnamen hinzugefügt. Wenn es sich um eine Liste handelt, wird der Labelname in den in der Liste angegebenen Inhalt geändert. Wenn es sich um eine ganze Zahl K handelt, beschriften Sie alle K-Beschriftungen im Diagramm. Wenn es automatisch ist, wird der Etikettenabstand der Etiketten automatisch ausgewählt und der nicht überlappende Teil (oder alle) der Etikettennamen wird ausgegeben.
Maske: Steuert, ob eine bestimmte Matrix angezeigt wird Block wird angezeigt. Der Standardwert ist „Keine“. Wenn es sich um einen booleschen DataFrame handelt, decken Sie die wahre Position im DataFrame mit Weiß ab.
ax: Legen Sie die Koordinatenachse der Zeichnung fest. Wenn Sie mehrere Untergraphen zeichnen, müssen Sie im Allgemeinen die Koordinaten verschiedener Untergraphen ändern Untergraphen. Werte
**kwargs: Alle anderen Schlüsselwortargumente werden an ax.pcolormesh übergeben
#cmap(颜色) import matplotlib.pyplot as plt % matplotlib inline f, (ax1,ax2) = plt.subplots(figsize = (6,4),nrows=2) # cmap用cubehelix map颜色 cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True) sns.heatmap(pt, linewidths = 0.05, ax = ax1, vmax=900, vmin=0, cmap=cmap) ax1.set_title('cubehelix map') ax1.set_xlabel('') ax1.set_xticklabels([]) #设置x轴图例为空值 ax1.set_ylabel('kind') # cmap用matplotlib colormap sns.heatmap(pt, linewidths = 0.05, ax = ax2, vmax=900, vmin=0, cmap='rainbow') # rainbow为 matplotlib 的colormap名称 ax2.set_title('matplotlib colormap') ax2.set_xlabel('region') ax2.set_ylabel('kind')
#center的用法(颜色)f, (ax1,ax2) = plt.subplots(figsize = (6, 4),nrows=2) cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True) sns.heatmap(pt, linewidths = 0.05, ax = ax1, cmap=cmap, center=None ) ax1.set_title('center=None') ax1.set_xlabel('') ax1.set_xticklabels([]) #设置x轴图例为空值ax1.set_ylabel('kind')# 当center设置小于数据的均值时,生成的图片颜色要向0值代表的颜色一段偏移sns.heatmap(pt, linewidths = 0.05, ax = ax2, cmap=cmap, center=200) ax2.set_title('center=3000') ax2.set_xlabel('region') ax2.set_ylabel('kind')
#robust的用法(颜色)f, (ax1,ax2) = plt.subplots(figsize = (6,4),nrows=2) cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True) sns.heatmap(pt, linewidths = 0.05, ax = ax1, cmap=cmap, center=None, robust=False ) ax1.set_title('robust=False') ax1.set_xlabel('') ax1.set_xticklabels([]) #设置x轴图例为空值ax1.set_ylabel('kind') sns.heatmap(pt, linewidths = 0.05, ax = ax2, cmap=cmap, center=None, robust=True ) ax2.set_title('robust=True') ax2.set_xlabel('region') ax2.set_ylabel('kind')
#annot(矩阵上数字),annot_kws(矩阵上数字的大小颜色字体)matplotlib包text类下的字体设置import numpy as np np.random.seed(20180316) x = np.random.randn(4, 4) f, (ax1, ax2) = plt.subplots(figsize=(6,6),nrows=2) sns.heatmap(x, annot=True, ax=ax1) sns.heatmap(x, annot=True, ax=ax2, annot_kws={'size':9,'weight':'bold', 'color':'blue'})# Keyword arguments for ax.text when annot is True. http://stackoverflow.com/questions/35024475/seaborn-heatmap-key-words
#fmt(字符串格式代码,矩阵上标识数字的数据格式,比如保留小数点后几位数字)import numpy as np np.random.seed(0) x = np.random.randn(4,4) f, (ax1, ax2) = plt.subplots(figsize=(6,6),nrows=2) sns.heatmap(x, annot=True, ax=ax1) sns.heatmap(x, annot=True, fmt='.1f', ax=ax2)
热力图矩阵块之间间隔及间隔线参数
#linewidths(矩阵小块的间隔),linecolor(切分热力图矩阵小块的线的颜色)import matplotlib.pyplot as plt f, ax = plt.subplots(figsize = (6,4)) cmap = sns.cubehelix_palette(start = 1, rot = 3, gamma=0.8, as_cmap = True) sns.heatmap(pt, cmap = cmap, linewidths = 0.05, linecolor= 'red', ax = ax) ax.set_title('Amounts per kind and region') ax.set_xlabel('region') ax.set_ylabel('kind')
#xticklabels,yticklabels横轴和纵轴的标签名输出import matplotlib.pyplot as plt f, (ax1,ax2) = plt.subplots(figsize = (5,5),nrows=2) cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True) p1 = sns.heatmap(pt, ax=ax1, cmap=cmap, center=None, xticklabels=False) ax1.set_title('xticklabels=None',fontsize=8) p2 = sns.heatmap(pt, ax=ax2, cmap=cmap, center=None, xticklabels=2, yticklabels=list(range(5))) ax2.set_title('xticklabels=2, yticklabels is a list',fontsize=8) ax2.set_xlabel('region')
#mask对某些矩阵块的显示进行覆盖 f, (ax1,ax2) = plt.subplots(figsize = (5,5),nrows=2) cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True) p1 = sns.heatmap(pt, ax=ax1, cmap=cmap, xticklabels=False, mask=None) ax1.set_title('mask=None') ax1.set_ylabel('kind') p2 = sns.heatmap(pt, ax=ax2, cmap=cmap, xticklabels=True, mask=(pt<800)) #mask对pt进行布尔型转化,结果为True的位置用白色覆盖 ax2.set_title('mask: boolean DataFrame') ax2.set_xlabel('region') ax2.set_ylabel('kind')
用mask实现:突出显示某些数据
f,(ax1,ax2) = plt.subplots(figsize=(4,6),nrows=2) x = np.array([[1,2,3],[2,0,1],[-1,-2,0]]) sns.heatmap(x, annot=True, ax=ax1) sns.heatmap(x, mask=x < 1, ax=ax2, annot=True, annot_kws={"weight": "bold"}) #把小于1的区域覆盖掉
Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine visuelle Heatmap in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.

VS -Code ist auf Mac verfügbar. Es verfügt über leistungsstarke Erweiterungen, GIT -Integration, Terminal und Debugger und bietet auch eine Fülle von Setup -Optionen. Für besonders große Projekte oder hoch berufliche Entwicklung kann VS -Code jedoch Leistung oder funktionale Einschränkungen aufweisen.

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.
