seaborn矩陣圖組合圖---熱力圖heatmap、聚類圖clustermap


1.熱力圖heatmap

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)

方法:用顏色矩陣去顯示數據在兩個維度下的度量值

參數:

  • data : 要顯示的數據
ax = sns.heatmap(data)
  • vmin, vmax : 顯示的數據值的最大和最小的范圍
ax = sns.heatmap(data,vmin=0, vmax=1)
  • cmap : matplotlib顏色表名稱或對象,或顏色列表,可選從數據值到色彩空間的映射。如果沒有提供,默認設置
ax = sns.heatmap(data,vmin=0, vmax=1, cmap = 'GnBu')
  • center : 指定色彩的中心值
ax = sns.heatmap(data,vmin=0, vmax=1, cmap = 'GnBu', center=0.7)
  • robust : 如果“Ture”和“ vmin或” vmax不存在,則使用強分位數計算顏色映射范圍,而不是極值。
ax = sns.heatmap(data,vmin=0, vmax=1, cmap = 'GnBu', center=0.5, 
                 robust=False) #Set1
  • annot : 如果為True,則將數據值寫入每個單元格中
ax = sns.heatmap(data,vmin=0, vmax=1, cmap = 'GnBu', center=0.5, 
                 robust=False,annot=True) #Set1
  • fmt : 表格里顯示數據的類型
fmt ='.0%'#顯示百分比
fmt ='f' 顯示完整數字 = fmt ='g'
fmt ='.3'顯示小數的位數 = fmt ='.3f' = fmt ='.3g'
  • annot_kws : 鍵,值映射的dict,可選
  • linewidths : 划分每個單元格的線的寬度。
  • linecolor : 划分每個單元格的線的顏色。
  • cbar : 是否繪制顏色條:colorbar,默認繪制
  • cbar_kws : 未知 cbar_ax : 顯示x-y坐標,而不是節點的編號
  • square : 為‘True’時,整個網格為一個正方形
  • xticklabels, yticklabels : 可以以字符串進行命名,也可以調節編號的間隔,也可以不顯示坐標
ax = sns.heatmap(uniform_data,cmap = 'RdBu', center=0,cbar = True, square = False,xticklabels =['12','22'])#字符串命名
ax = sns.heatmap(uniform_data,cmap = 'RdBu', center=0,cbar = True, square = False,xticklabels =2)#編號間隔為2
ax = sns.heatmap(uniform_data,cmap = 'RdBu', center=0,cbar = True, square = False,xticklabels =False)#不顯示坐標

舉例:

plt.figure(figsize = (12,6))
corr_values = data.corr()
sns.heatmap(corr_values, annot=True,vmax=1, square=True, cmap="Blues",fmt='.2f')
plt.tight_layout()
plt.savefig('heatmap.png',dpi=600) 
plt.show()

 

2.聚類圖clustermap

seaborn.clustermap(data, pivot_kws=None, method='average', metric='euclidean', z_score=None, standard_scale=None, figsize=None, cbar_kws=None, row_cluster=True, col_cluster=True, row_linkage=None, col_linkage=None, row_colors=None, col_colors=None, mask=None, **kwargs)
  • 除此之外,clustermap 支持繪制層次聚類結構圖。如下所示,我們先去掉原數據集中最后一個目標列,傳入特征數據即可。當然,你需要對層次聚類有所了解,否則很難看明白圖像多表述的含義。
  • seaborn.clustermap

舉例:

iris.pop("species")
sns.clustermap(iris)

 

 

參考文獻:

【1】python3.x-seaborn.heatmap隨筆

【2】中文官網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM