簡體   English   中英

Seaborn的熱圖相關圖一半帶有值編號,一半是彩色圖

[英]Heatmap correlation plot half with values number and half color map in seaborn

在先前版本的seaborn(<0.7)中,存在函數corrplot() ,該函數允許繪制相關矩陣,使得矩陣的一半為數字,另一半為顏色圖。 現在,seaborn(0.7.1)僅具有heatmap( 函數,而沒有直接具有此函數。 有沒有辦法獲得相同的結果?

我花了一些時間來做,基本上需要重疊兩個熱圖,其中一個使用遮罩覆蓋矩陣的一半。 下面顯示了一個代碼示例。

import numpy as np
import pandas as pd
import seaborn
from matplotlib.colors import ListedColormap
from matplotlib.pylab import *

arr_name = ['D','S','P','E','C','KW','K','EF']
data = np.random.randn(8,8)
df = pd.DataFrame(data, columns=arr_name)
labels = df.where(np.triu(np.ones(df.shape)).astype(np.bool))
labels = labels.round(2)
labels = labels.replace(np.nan,' ', regex=True)

mask = np.triu(np.ones(df.shape)).astype(np.bool)
ax = seaborn.heatmap(df, mask=mask, cmap='RdYlGn_r', fmt='', square=True, linewidths=1.5)
mask = np.ones((8, 8))-mask
ax = seaborn.heatmap(df, mask=mask, cmap=ListedColormap(['white']),annot=labels,cbar=False, fmt='', linewidths=1.5)
ax.set_xticks([])
ax.set_yticks([])
plt.show()

最終結果如下: 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM