手把手教你用python繪制熱度圖(heatmap)
1、簡單的代碼
from matplotlib import pyplot as plt import seaborn as sns import numpy as np import pandas as pd #練習(xí)的數(shù)據(jù): data=np.arange(25).reshape(5,5) data=pd.DataFrame(data) #繪制熱度圖: plot=sns.heatmap(data) plt.show()
查看效果:

2、添加X軸和Y軸標(biāo)簽和標(biāo)題:
plt.xlabel("X",size=20)
plt.ylabel("Y",size=20,rotation=0)
plt.title("heatmap",size=20)查看效果:

3、對右側(cè)的色條(colorbar)進(jìn)行調(diào)整:
在heatmap里添加關(guān)鍵字參數(shù)cbar_kws,這個參數(shù)對應(yīng)是一個字典,字典的內(nèi)容傳遞給類Colorbar。這個類就是被調(diào)用來繪制色條的。
from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
#練習(xí)的數(shù)據(jù):
data=np.arange(-18,18).reshape(6,6)
data=pd.DataFrame(data)
#設(shè)置色條的刻度:
tick_=np.arange(-20,20,5).astype(float)
#編輯做為參數(shù)的字典:
dict_={'orientation':'vertical',"label":"color \
scale","drawedges":True,"ticklocation":"top","extend":"min", \
"filled":True,"alpha":0.8,"cmap":"cmap","ticks":tick_}
#將字典傳入給參數(shù)cbar_kws:
cmap=sns.heatmap(data,cbar_kws=dict_,center=0)
#添加標(biāo)題和標(biāo)簽:
plt.xlabel("X",size=20)
plt.ylabel("Y",size=20,rotation=0)
plt.title("heatmap",size=20)
plt.show()查看效果:

這里的orientation(定位)參數(shù)對應(yīng)的參數(shù)值有vertical(垂直)和 horizontal(水平),可以調(diào)整色條的放置狀態(tài),ticks參數(shù)傳遞色條的刻度值。
4、修改色條的刻度值和標(biāo)簽的字體大小、顏色:
在Colorbar類里,沒有直接的參數(shù)可以調(diào)整刻度字體的大小,所以無法通過關(guān)鍵字參數(shù)cbar_kws進(jìn)行調(diào)整刻度字體大小。
但是可以調(diào)用Colorbar的ax類進(jìn)行調(diào)整:
#調(diào)用Colorbar類: cbar = cmap.collections[0].colorbar #利用Colorbar類的axis類的方法,修改刻度大小和設(shè)置刻度顏色 cbar.ax.tick_params(labelsize=20,labelcolor="blue")
這里的cmap是用sns.heatmap()函數(shù)繪制熱度圖時賦予的對象
這里的關(guān)鍵步驟是cbar = cmap.collections[0].colorbar
得到的cbar.ax變量是matplotlib.axes._subplots.AxesSubplot類,和cmap變量一致
這里的cbar.ax連接到matplotlib.axis類,可以使用后者的方法
#修改色條標(biāo)簽的字體大小: cbar.ax.ylabel(ylabe="color scale",size=20,color="red",loc="center") plt.show()
查看效果:

實際上,這副熱度圖可以看做是兩張圖,左側(cè)的熱度圖和右側(cè)的色條。
5、對熱度圖顯示數(shù)值和添加網(wǎng)格線:
from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
from matplotlib import colorbar
#練習(xí)的數(shù)據(jù):
data=np.arange(-18,18).reshape(6,6)
data=pd.DataFrame(data)
#繪制熱度圖:
tick_=np.arange(-20,20,5).astype(float)
dict_={'orientation':'vertical',"label":"color \
scale","drawedges":True,"ticklocation":"right","extend":"min", \
"filled":True,"alpha":0.8,"cmap":"cmap","ticks":tick_,"spaci,linewidths=0.5ng":'proportional'}
#繪制添加數(shù)值和線條的熱度圖:
cmap = sns.heatmap(data,linewidths=0.8,annot=True,fmt="d")
plt.xlabel("X",size=20)
plt.ylabel("Y",size=20,rotation=0)
plt.title("heatmap",size=20)
#調(diào)整色帶的標(biāo)簽:
cbar = cmap.collections[0].colorbar
cbar.ax.tick_params(labelsize=20,labelcolor="blue")
cbar.ax.set_ylabel(ylabel="color scale",size=20,color="red",loc="center")
plt.show()查看效果:

6、 定義熱度圖的配色板
利用heatmapL里的參數(shù)cmap,較好看的參數(shù)有“YlGnBu”和“BuPu_r”:
要知道cmap有哪些參數(shù),報一次錯就可以了。
#練習(xí)的數(shù)據(jù): data=np.arange(-18,18).reshape(6,6) flights=pd.DataFrame(data) #設(shè)置一個1行2列的畫圖: fig,ax=plt.subplots(1,2) sns.heatmap(flights, cmap="YlGnBu",ax=ax[0]) sns.heatmap(flights, cmap="BuPu_r",ax=ax[1]) plt.show()
查看效果:

總結(jié)
到此這篇關(guān)于手把手教你用python繪制熱度圖(heatmap)的文章就介紹到這了,更多相關(guān)python繪制熱度圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pygame與OpenCV聯(lián)合播放視頻并保證音畫同步
Pygame的Movie模塊已經(jīng)廢棄多年,本文主要介紹了Pygame與OpenCV聯(lián)合播放視頻并保證音畫同步,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12
Python操作SQLite/MySQL/LMDB數(shù)據(jù)庫的方法
這篇文章主要介紹了Python操作SQLite/MySQL/LMDB數(shù)據(jù)庫的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11
Python用摘要算法生成token及檢驗token的示例代碼
這篇文章主要介紹了Python用摘要算法生成token及檢驗token的示例代碼,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-12-12
Python遞歸函數(shù)反轉(zhuǎn)序列的實現(xiàn)
本文主要介紹了Python遞歸函數(shù)反轉(zhuǎn)序列的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
python出現(xiàn)更新庫失敗A?new?release?of?pip?is?available:?23.0.
學(xué)習(xí)了Python我們知道它自帶了很多的庫,同時我們還需要對某個庫進(jìn)行升級,這篇文章主要給大家介紹了關(guān)于python出現(xiàn)更新庫失敗A?new?release?of?pip?is?available:?23.0.1?->?23.3的解決辦法,需要的朋友可以參考下2024-03-03
使用pyinstaller打包py文件的實現(xiàn)步驟
PyInstaller是一個用于將Python腳本打包成獨立可執(zhí)行文件的工具,本文主要介紹了使用pyinstaller打包py文件,具有一定的參考價值,感興趣的可以了解一下2025-03-03

