国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > sns.heatmap詳解

sns.heatmap詳解

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-23 00:24:48 1700670288

一、sns.heatmap參數(shù)

sns.heatmap是一個(gè)數(shù)據(jù)可視化函數(shù),用于繪制矩陣數(shù)據(jù)的熱圖。它有很多參數(shù)可以用于調(diào)整圖形樣式和呈現(xiàn)方式。這里介紹幾個(gè)常用的參數(shù):

import seaborn as sns
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(10, 10))

sns.heatmap(df, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5)

1. data: 需要展示的數(shù)據(jù),可以是DataFrame或numpy數(shù)組

2. cmap: 顏色映射表,設(shè)置熱圖的顏色主題。它可以是內(nèi)置顏色映射表(如'coolwarm'、'viridis'、'mako'、'rocket'、'copper'等),也可以是自定義的顏色列表

3. annot: 是否顯示每個(gè)單元格的數(shù)值

4. fmt: 數(shù)值格式,用于控制annot參數(shù)輸出數(shù)值的格式

5. linewidths: 熱圖中每個(gè)矩形之間的間隔線寬度

二、sns.heatmap合并顏色帶

熱圖中的顏色帶用于表示數(shù)據(jù)值的大小,不同的顏色帶代表不同的數(shù)據(jù)范圍。有時(shí)候,可能需要將兩個(gè)熱圖的顏色帶合并為一個(gè)顏色帶,以便進(jìn)行比較。sns.heatmap提供了vmin和vmax參數(shù),用于將不同數(shù)據(jù)范圍內(nèi)的顏色值映射到相同的顏色帶上。

df1 = pd.DataFrame(np.random.randn(10, 10))
df2 = pd.DataFrame(np.random.randn(10, 10))

plt.figure(figsize=(8, 6))

plt.subplot(1, 2, 1)
sns.heatmap(df1, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5)

plt.subplot(1, 2, 2)
sns.heatmap(df2, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5, vmin=-1, vmax=1)

plt.show()

2個(gè)熱圖顏色帶合并之前:

2個(gè)熱圖顏色帶合并之后:

三、sns.heatmap函數(shù)

sns.heatmap函數(shù)可以接收一些關(guān)鍵字參數(shù),用于控制熱圖的外觀和響應(yīng)式。例如,我們可以使用xticklabels和yticklabels參數(shù)來(lái)更改X和Y軸上的標(biāo)簽。

df = pd.DataFrame(np.random.randn(10, 10), columns=[f'col{i}' for i in range(10)], 
                  index=[f'row{i}' for i in range(10)])

sns.heatmap(df, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5, xticklabels=[f'col{i}' for i in range(10)],
           yticklabels=[f'row{i}' for i in range(10)])

plt.show()

熱圖外觀控制示例圖:

四、sns.heatmap作用

sns.heatmap函數(shù)主要用于可視化矩陣數(shù)據(jù)的熱圖,用不同的顏色表示數(shù)據(jù)的大小,顏色越亮則表示數(shù)據(jù)越大,顏色越暗則表示數(shù)據(jù)越小。

例如,設(shè)置顏色映射表為'coolwarm',則大于0的數(shù)值顯示為紅色,小于0的數(shù)值顯示為藍(lán)色,0的數(shù)值顯示為中間的白色。

df = pd.DataFrame(np.random.randn(10, 10))

sns.heatmap(df, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5)

plt.show()

熱圖應(yīng)用示例圖:

五、sns.heatmap字體大小

sns.heatmap函數(shù)可以設(shè)置字體的大小,通過(guò)修改字體的大小,我們可以讓熱圖更加美觀,易于閱讀。

df = pd.DataFrame(np.random.randn(10, 10))

sns.heatmap(df, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5, annot_kws={'size': 12})

plt.show()

熱圖字體大小示例圖:

六、sns.heatmap中文列名

sns.heatmap函數(shù)默認(rèn)使用英文字母作為列名,但是有時(shí)候我們需要使用中文作為列名,這時(shí)候需要更改列名并設(shè)置xticklabels參數(shù)。

df = pd.DataFrame(np.random.randn(10, 10), columns=[f'列{i}' for i in range(10)])

sns.heatmap(df, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5, 
            xticklabels=df.columns, yticklabels=[f'行{i}' for i in range(10)],)

plt.show()

熱圖中文列名示例圖:

七、sns.heatmap中文標(biāo)題

sns.heatmap函數(shù)可以設(shè)置熱圖的標(biāo)題,根據(jù)熱圖的應(yīng)用場(chǎng)景,設(shè)置對(duì)應(yīng)的標(biāo)題顯得更為嚴(yán)謹(jǐn)。

df = pd.DataFrame(np.random.randn(10, 10), columns=[f'col{i}' for i in range(10)], 
                  index=[f'row{i}' for i in range(10)])

plt.figure(figsize=(8, 6))

sns.heatmap(df, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5, xticklabels=[f'col{i}' for i in range(10)],
           yticklabels=[f'row{i}' for i in range(10)])

plt.title('熱圖示例', fontsize=16)
plt.show()

熱圖中文標(biāo)題示例圖:

八、sns.heatmap共用顏色條

如果在同一畫(huà)布上繪制多個(gè)熱圖,可能需要共用相同的顏色條。sns.heatmap函數(shù)提供了cbar參數(shù)來(lái)實(shí)現(xiàn)。

df1 = pd.DataFrame(np.random.randn(10, 10))
df2 = pd.DataFrame(np.random.randn(10, 10))

plt.figure(figsize=(8, 6))

plt.subplot(1, 2, 1)
sns.heatmap(df1, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5)

plt.subplot(1, 2, 2)
sns.heatmap(df2, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5, cbar=False)

plt.subplots_adjust(wspace=0.5)

plt.show()

多個(gè)熱圖共用顏色條示例圖:

九、sns.heatmap標(biāo)記目標(biāo)值

我們可以使用mask參數(shù)來(lái)標(biāo)記矩陣的某些區(qū)域。例如,標(biāo)記所有小于0的值為紅色,大于等于0的值為綠色。

df = pd.DataFrame(np.random.randn(10, 10))

mask = np.zeros_like(df)
mask[df < 0] = True

sns.heatmap(df, cmap='coolwarm', annot=True, fmt='.2f', linewidths=.5, mask=mask)

plt.show()

熱圖標(biāo)記目標(biāo)值示例圖:

十、sns.heatmap cmap選取

cmap是sns.heatmap函數(shù)中的一個(gè)參數(shù),用于指定顏色映射表。不同的顏色映射表可以反映不同的數(shù)據(jù)特征,選擇合適的顏色映射表非常重要。matplotlib提供了一些內(nèi)置的顏色映射表,包括'viridis'、'plasma'、'inferno'、'magma'等,可以根據(jù)數(shù)據(jù)特點(diǎn)來(lái)選取合適的顏色映射表。

df = pd.DataFrame(np.random.randn(10, 10))

plt.figure(figsize=(8, 6))

plt.subplot(2, 2, 1)
sns.heatmap(df, cmap='viridis', annot=True, fmt='.2f', linewidths=.5)

plt.subplot(2, 2, 2)
sns.heatmap(df, cmap='plasma', annot=True, fmt='.2f', linewidths=.5)

plt.subplot(2, 2, 3)
sns.heatmap(df, cmap='inferno', annot=True, fmt='.2f', linewidths=.5)

plt.subplot(2, 2, 4)
sns.heatmap(df, cmap='magma', annot=True, fmt='.2f', linewidths=.5)

plt.subplots_adjust(wspace=0.5, hspace=0.5)

plt.show()

不同顏色映射表的示例圖:

tags: sns.heatmap
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Pingfangsc字體詳解

一、字體描述Pingfangsc字體是一種被廣泛用于中文設(shè)計(jì)領(lǐng)域的字體,其正式名稱(chēng)為蘋(píng)方-簡(jiǎn),是由蘋(píng)果公司與微軟公司共同開(kāi)發(fā)的,用于替代傳統(tǒng)的中...詳情>>

2023-11-23 02:38:00
linux gbd調(diào)試,linuxadb調(diào)試

adb工具linux好不好1、LinuxADB更穩(wěn)定。Linux是Android開(kāi)發(fā)的主要平臺(tái)之一,ADB的開(kāi)發(fā)和測(cè)試也更多地針對(duì)Linux環(huán)境,Linux上的ADB在穩(wěn)定性方面...詳情>>

2023-11-23 02:32:09
npm設(shè)置代理的方法用法介紹

一、什么是npm代理npm代理指的是npm包管理器在使用時(shí)通過(guò)代理訪問(wèn)npm服務(wù)器獲取依賴(lài)包的過(guò)程。在某些情況下,我們需要npm走代理才能訪問(wèn)到npm服...詳情>>

2023-11-23 02:23:36
在Ubuntu上安裝中文字體

在Ubuntu系統(tǒng)中安裝中文字體是很必要的,因?yàn)橹形沫h(huán)境下如果沒(méi)有合適的字體,會(huì)導(dǎo)致顯示效果非常差。下面我們將從以下幾個(gè)方面來(lái)闡述在Ubuntu上...詳情>>

2023-11-23 02:12:48
interval1day詳解

一、interval1day的概念和用途interval1day是一個(gè)時(shí)間間隔,表示每天的時(shí)間段。在編程中,我們可以使用interval1day來(lái)表示每天的某些觸發(fā)事件,...詳情>>

2023-11-23 01:29:36