heatmap學習筆記


#heatmap熱度圖,seaborn中常用的圖,也是我最喜歡畫的一種圖
#重要點思維:拿到一批數據一般會求特徵之間的相關係數,可以用padas直接求出來相關係數,放到heatmap,可以很清楚的看到兩個特徵的相關程度,這是一個固定的數據思維
#用途:比如拿到一批離散數據,想看一下在哪個點值比較大,在哪個點值比較低,你想把這樣一個值的變化,用顏色來區分出來,這是我們要做的一個變化

importmatplotlib.pyplot as plt
importnumpy as np
np.random.seed(0)
importseaborn as sns
sns.set()
#顏色可以由淺到深,可以由深到淺,比如股票每天的漲跌
#
#隨機生成一個3*3矩陣,點heatmap穿進去數據,調色板叫做col_bar,很明顯的看出這堆數中的值大小
uniform_data=np.random.rand(3,3)
heatmap=sns.heatmap(uniform_data)

#可以區間設置,vmin vmax,大於或小於v的全是一個顏色,只有在這區間的纔會分顏色
ax=sns.heatmap(uniform_data,vmin=0.2,vmax=0.5)

#比如拿到的數據是權重參數,又有正負,正是漲,負是跌,定義center=0,以0爲中心畫這個數據
normal_data = np.random.randn(3,3)
ax2 = sns.heatmap(normal_data,center=0)


#讀取航班數據集flightsseaborn自帶的,1949年乘機的人數passengers
#需要橫軸表示年份,縱軸月份,點的值是大小
#把當前的數據轉換爲可以用的矩陣格式,讀取的dataframe的,然後.pivot一下(xy,值)xy直接寫列名即可,直接把dataframe中的yearmonth傳進來,加一個註釋項annot=Truefmt=“d”即是在圖上顯示數據值,linwidth=.5加上一個格,這個圖會比較更清晰,調色板是cmap=“YIGnBu”,顏色,cbar=false是隱藏,但是一般不隱藏不然不知道圖例了
#默認顏色太醜,應該設置一下常用的顏色

flights = sns.load_dataset('flights')
# print(flights.head())
flights=flights.pivot('month','year','passengers')#pivot函數重要
# print(flights.head())
sns.heatmap(flights)#注意這裏是直接傳入數據集即可,不需要再單獨傳入xy

sns.heatmap(flights,linewidth=.5,annot=True,fmt='d')

#改變顏色
ax= sns.heatmap(flights,cbar=False,cmap='YlGnBu')


發佈了14 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章