python使用matplotlib繪制熱圖
python常用的繪圖庫(kù)就是matplotlib,今天在給公司繪圖時(shí),偶然間發(fā)現(xiàn)matplotlib可以繪制熱圖,并且十分簡(jiǎn)潔,拿出來(lái)跟大家分享一下。(由于涉及到公司數(shù)據(jù)問(wèn)題,這里采用隨機(jī)數(shù)生成數(shù)據(jù)進(jìn)行實(shí)驗(yàn))
import random from matplotlib import pyplot as plt from matplotlib import cm from matplotlib import axes from matplotlib.font_manager import FontProperties font = FontProperties(fname='/Library/Fonts/Songti.ttc') def draw(): #定義熱圖的橫縱坐標(biāo) xLabel = ['A','B','C','D','E'] yLabel = ['1','2','3','4','5'] #準(zhǔn)備數(shù)據(jù)階段,利用random生成二維數(shù)據(jù)(5*5) data = [] for i in range(5): temp = [] for j in range(5): k = random.randint(0,100) temp.append(k) data.append(temp) #作圖階段 fig = plt.figure() #定義畫布為1*1個(gè)劃分,并在第1個(gè)位置上進(jìn)行作圖 ax = fig.add_subplot(111) #定義橫縱坐標(biāo)的刻度 ax.set_yticks(range(len(yLabel))) ax.set_yticklabels(yLabel, fontproperties=font) ax.set_xticks(range(len(xLabel))) ax.set_xticklabels(xLabel) #作圖并選擇熱圖的顏色填充風(fēng)格,這里選擇hot im = ax.imshow(data, cmap=plt.cm.hot_r) #增加右側(cè)的顏色刻度條 plt.colorbar(im) #增加標(biāo)題 plt.title("This is a title", fontproperties=font) #show plt.show() d = draw()
效果圖如下:
為了更清晰地看出二維數(shù)值矩陣與熱圖之間的對(duì)應(yīng)關(guān)系,我們輸出二維矩陣:
[[17, 96, 11, 99, 83], [18, 17, 58, 18, 80], [87, 79, 15, 53, 4], [86, 53, 48, 36, 23], [25, 4, 94, 100, 71]]
從對(duì)應(yīng)關(guān)系我們可以看出,圖像的左上角為坐標(biāo)原點(diǎn),第一行對(duì)應(yīng)的二維矩陣中的第一行數(shù)據(jù),以此類推。
同時(shí)我們可以看出數(shù)值越大的單元,對(duì)應(yīng)熱圖中的顏色越深。其實(shí)這是一個(gè)可選項(xiàng),只需要改變im = ax.imshow(data, cmap=plt.cm.hot_r)中的參數(shù)cmap為hot_r,其中_r的意思是就是按照顏色越深,數(shù)值越大,如果想數(shù)值越大,顏色越淺,只需要去掉_r,直接為hot就行。同時(shí)這個(gè)hot是熱圖配色的其中一個(gè)主題,主題色參數(shù)可選:
- hot 從黑平滑過(guò)度到紅、橙色和黃色的背景色,然后到白色。
- cool 包含青綠色和品紅色的陰影色。從青綠色平滑變化到品紅色。
- gray 返回線性灰度色圖。
- bone 具有較高的藍(lán)色成分的灰度色圖。該色圖用于對(duì)灰度圖添加電子的視圖。
- white 全白的單色色圖。
- spring 包含品紅和黃的陰影顏色。
- summer 包含綠和黃的陰影顏色。
- autumn 從紅色平滑變化到橙色,然后到黃色。
- winter 包含藍(lán)和綠的陰影色。
右側(cè)的顏色刻度條colorbar也是可選的,如果不寫就不會(huì)顯示
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python使用matplotlib繪制動(dòng)畫的方法
- python使用matplotlib繪制折線圖教程
- python使用matplotlib繪制柱狀圖教程
- python學(xué)習(xí)之matplotlib繪制散點(diǎn)圖實(shí)例
- Python通過(guò)matplotlib繪制動(dòng)畫簡(jiǎn)單實(shí)例
- Python使用matplotlib繪制多個(gè)圖形單獨(dú)顯示的方法示例
- python使用matplotlib模塊繪制多條折線圖、散點(diǎn)圖
- Python用?matplotlib?繪制柱狀圖
- Python?matplotlib?繪制散點(diǎn)圖詳解建議收藏
- python中matplotlib的用法及繪制簡(jiǎn)單圖形詳解
相關(guān)文章
pytorch自定義不可導(dǎo)激活函數(shù)的操作
這篇文章主要介紹了pytorch自定義不可導(dǎo)激活函數(shù)的操作,具有很好的參考價(jià)值,希望大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06Python下實(shí)現(xiàn)的RSA加密/解密及簽名/驗(yàn)證功能示例
這篇文章主要介紹了Python下實(shí)現(xiàn)的RSA加密/解密及簽名/驗(yàn)證功能,結(jié)合具體實(shí)例形式分析了Python中RSA加密、解密的實(shí)現(xiàn)方法及簽名、驗(yàn)證功能的使用技巧,需要的朋友可以參考下2017-07-0730?個(gè)?Python?函數(shù),加速數(shù)據(jù)分析處理速度
這篇文章主要介紹了30?個(gè)?Python?函數(shù),加速數(shù)據(jù)分析處理速度,Pandas?是?Python?中最廣泛使用的數(shù)據(jù)分析和操作庫(kù)。它提供了許多功能和方法,可以加快數(shù)據(jù)分析和預(yù)處理步驟,下面我們就一起來(lái)看看這些方法吧,需要的小伙伴可以參考一下,希望給你帶來(lái)幫助2021-12-12python實(shí)現(xiàn)簡(jiǎn)易版學(xué)生成績(jī)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)易版學(xué)生成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的代碼(JSON模塊)
這篇文章主要介紹了Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的代碼(JSON模塊),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04Python對(duì)接六大主流數(shù)據(jù)庫(kù)(只需三步)
這篇文章主要介紹了Python對(duì)接六大主流數(shù)據(jù)庫(kù)(只需三步),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python數(shù)據(jù)可視化plt庫(kù)實(shí)例詳解
這篇文章主要介紹了python可視化數(shù)據(jù)plt庫(kù)實(shí)例,下面使用pycharm環(huán)境給大家詳細(xì)介紹,文中提到j(luò)upyter和pycharm環(huán)境的差別,需要的朋友可以參考下2021-06-06