1. 畫一個基本的熱力圖, 通過熱力圖用來觀察樣本的分布情況
import matplotlib.pyplot as plt import numpy as np np.random.seed(0) import seaborn as sns # 初始化參數 sns.set() uniform_data = np.random.rand(3, 3) heatmap = sns.heatmap(uniform_data) plt.show()
2. 通過vmin 和 vmax設置熱力圖的區間
uniform_data = np.random.rand(3, 3) # 通過vmin和vmax設置熱力圖的范圍區間 heatmap = sns.heatmap(uniform_data, vmin=0.2, vmax=0.5) plt.show()
3.center=0 對於有正有負的數據而言顏色差異更大
uniform_data = np.random.randn(3, 3) # 通過vmin和vmax設置熱力圖的范圍區間 heatmap = sns.heatmap(uniform_data, center=0) plt.show()
4. 取出三個特征進行熱力圖的繪制figures.pivot() 第三個屬性表示熱力圖上實際的值
flights = sns.load_dataset('flights') # 取出這三個屬性畫熱力圖,坐標點的位置是passengers flights = flights.pivot('month', 'year', 'passengers') ax = sns.heatmap(flights) plt.show() # 將實際的數值繪制到上面 flights = sns.load_dataset('flights') # 取出這三個屬性畫熱力圖,坐標點的位置是passengers flights = flights.pivot('month', 'year', 'passengers') ax = sns.heatmap(flights, annot=True, fmt='d') plt.show()
5. linewidth 使得格與格之間有距離, 指定調色板, 隱藏colorbar
flights = sns.load_dataset('flights') # 取出這三個屬性畫熱力圖,坐標點的位置是passengers flights = flights.pivot('month', 'year', 'passengers') ax = sns.heatmap(flights, linewidths=0.5, cmap='YlGnBu', cbar=False) plt.show()