So implementieren Sie eine visuelle Heatmap in Python

零到壹度
Freigeben: 2018-04-04 14:22:26
Original
50187 Leute haben es durchsucht


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; >

(4) Abstand und Abstandslinienparameter zwischen Heatmap-Matrixblöcken:

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ß“

(5) Parameter der Farbskalenleiste der Wärmekarte:

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

Heatmap-Matrixblock-Farbparameter

#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')
Nach dem Login kopieren

So implementieren Sie eine visuelle Heatmap in Python

#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')
Nach dem Login kopieren

So implementieren Sie eine visuelle Heatmap in Python

#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')
Nach dem Login kopieren

So implementieren Sie eine visuelle Heatmap in Python

Anmerkungsparameter für Heatmap-Matrixblöcke

#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
Nach dem Login kopieren

So implementieren Sie eine visuelle Heatmap in Python

#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)
Nach dem Login kopieren

So implementieren Sie eine visuelle Heatmap in Python

热力图矩阵块之间间隔及间隔线参数

#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')
Nach dem Login kopieren

So implementieren Sie eine visuelle Heatmap in Python

#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')
Nach dem Login kopieren

So implementieren Sie eine visuelle Heatmap in Python

#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(&#39;mask: boolean DataFrame&#39;)
ax2.set_xlabel(&#39;region&#39;)
ax2.set_ylabel(&#39;kind&#39;)
Nach dem Login kopieren

So implementieren Sie eine visuelle Heatmap in Python

用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的区域覆盖掉
Nach dem Login kopieren

So implementieren Sie eine visuelle Heatmap in Python

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!