設定 Seaborn 熱圖的大小

Manav Narula 2023年1月30日
  1. 使用 seaborn.set() 函式設定 seaborn 熱圖大小
  2. 使用 matplotlib.pyplot.figure() 函式設定 seaborn 熱圖大小
  3. 使用 matplotlib.pyplot.gcf() 函式設定 seaborn 圖的大小
設定 Seaborn 熱圖的大小

熱圖用於生成矩陣的圖形表示。它在圖形上繪製一個矩陣,併為不同的值使用不同的顏色深淺。

我們可以使用 seaborn.heatmap() 函式在 seaborn 模組中建立熱圖。

在表示大型矩陣時,圖的預設大小可能無法清楚地表示資料。

在本教程中,我們將解決這個問題並學習如何改變 seaborn 熱圖的大小。

由於 heatmap() 返回一個 matplotlib-axes 物件,我們也可以使用該庫中的函式。

使用 seaborn.set() 函式設定 seaborn 熱圖大小

set() 函式定義了 seaborn 繪圖的配置和主題。我們可以在 rc 引數中提及繪圖的大小。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Day 1": [7, 1, 5, 6, 3, 10, 5, 8],
        "Day 2": [1, 2, 8, 4, 3, 9, 5, 2],
        "Day 3": [4, 6, 5, 8, 6, 1, 2, 3],
        "Day 4": [5, 8, 9, 5, 1, 7, 8, 9],
    }
)

sns.set(rc={"figure.figsize": (15, 8)})
sns.heatmap(df.corr())

使用 set() 函式的熱圖大小

請注意,rc 引數的值被指定為字典。最終的高度和寬度作為元組傳遞。

使用 matplotlib.pyplot.figure() 函式設定 seaborn 熱圖大小

figure() 函式用於在 Python 中啟動或自定義當前圖形。此圖中繪製了熱圖。可以使用函式中的 figsize 引數更改大小。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Day 1": [7, 1, 5, 6, 3, 10, 5, 8],
        "Day 2": [1, 2, 8, 4, 3, 9, 5, 2],
        "Day 3": [4, 6, 5, 8, 6, 1, 2, 3],
        "Day 4": [5, 8, 9, 5, 1, 7, 8, 9],
    }
)


plt.figure(figsize=(15, 8))
sns.heatmap(df.corr())

使用 figure() 函式的熱圖大小

請注意,該函式在 heatmap() 函式之前使用。

使用 matplotlib.pyplot.gcf() 函式設定 seaborn 圖的大小

gcf() 函式返回圖形的檢視例項物件。可以使用 set_size_inches() 方法更改此物件的大小。通過這種方式,我們可以在這個物件上設定熱圖圖的大小。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Day 1": [7, 1, 5, 6, 3, 10, 5, 8],
        "Day 2": [1, 2, 8, 4, 3, 9, 5, 2],
        "Day 3": [4, 6, 5, 8, 6, 1, 2, 3],
        "Day 4": [5, 8, 9, 5, 1, 7, 8, 9],
    }
)


sns.heatmap(df.corr())
plt.gcf().set_size_inches(15, 8)

使用 gcf() 函式的熱圖大小

請注意,此方法在 heatmap() 函式之後使用。

另外需要注意的是,在上述所有方法中,熱圖中註釋的大小並沒有受到太大影響。

為了增加註釋的大小,我們需要在 heatmap() 函式中將 annot 引數設定為 True。然後我們可以在 annot_kws 引數中將字型大小指定為鍵值對,如 annot_kws = {'size':15}

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相關文章 - Seaborn Heatmap