更改 Seaborn 影象大小

Manav Narula 2023年1月30日
  1. 使用 seaborn.set() 函式更改 Seaborn 圖的大小
  2. 使用 rcParams 函式更改 Seaborn 圖的大小
  3. 使用 matplotlib.pyplot.figure() 函式更改 Seaborn 圖的大小
  4. 使用 matplotlib.pyplot.gcf() 函式更改 Seaborn 圖的大小
  5. 使用 heightaspect 引數更改 Seaborn 圖的大小
更改 Seaborn 影象大小

通常,繪圖和圖形具有某些預設大小,或者它們的尺寸由編譯器自動確定。

在本教程中,我們將討論如何在 Python 中更改 Seaborn 圖的大小。

使用 seaborn.set() 函式更改 Seaborn 圖的大小

seaborn.set() 函式用於控制 seaborn 圖的主題和配置。

函式的 rc 引數可用於控制最終圖形的大小。我們將字典作為值傳遞給此引數,並使用鍵將其作為 figure.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]}
)

sns.set(rc={"figure.figsize": (15, 8)})
p = sns.lineplot(data=df)

使用 rcParams 函式更改 Seaborn 圖的大小

seaborn.set() 函式類似,matplotlin.pyplot 模組中的 rcParams 用於控制繪圖的樣式。我們可以在此處使用 figure.figsize 引數來更改圖形的大小。

例如,

from matplotlib import rcParams
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]}
)


rcParams["figure.figsize"] = 15, 8
p = sns.lineplot(data=df)

使用 matplotlib.pyplot.figure() 函式更改 Seaborn 圖的大小

matplotlib.pyplot.figure() 函式用於啟用圖形。我們可以在繪製所需的 Seaborn 圖之前使用它。要更改圖的大小,我們可以使用 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]}
)


plt.figure(figsize=(15, 8))
p = sns.lineplot(data=df)

使用 matplotlib.pyplot.gcf() 函式更改 Seaborn 圖的大小

matplotlib.pyplot.gcf() 函式用於獲取當前圖形的例項。我們可以在此例項中使用 set_size_inches() 方法來更改繪圖的最終大小。

該方法也適用於 Facetgrid 型別的物件。

例如,

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]}
)


p = sns.lineplot(data=df)
plt.gcf().set_size_inches(15, 8)

使用 heightaspect 引數更改 Seaborn 圖的大小

諸如 lmplotcatplotfactorplotjointplot 之類的 seaborn 模組中的不同圖形已經具有引數 heightaspect 來控制圖形的大小。

以下程式碼顯示瞭如何使用這些引數。

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]}
)


p = sns.factorplot(data=df, height=8, aspect=15 / 8)
作者: 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