Seaborn.set_context() 方法



Seaborn.set_context() 方法用於設定控制繪圖元素縮放的引數。透過使用它,總體樣式不受影響,儘管它確實會影響標籤、線條和其他繪圖點的尺寸等內容。matplotlib 中的 rcParams 系統用於實現此目的。

術語“paper”、“talk”和“poster”是筆記本引數的不同縮放版本,而“notebook”作為基本上下文。此外,字型元素可以與其他值分開縮放。

語法

以下是 seaborn.set_context() 方法的語法:

seaborn.set_context(context=None, font_scale=1, rc=None)

引數

下面討論 set_context() 方法的引數。

序號 引數及描述
1 context

接受以下內容作為輸入:none、dict 或 {paper, notebook, talk, poster} 中的一個,並確定引數字典或預配置集的名稱。

2 rc

接受 rcdict 作為值,是一個可選引數,用於執行引數對映以覆蓋預設 seaborn 樣式字典中的值。這隻會更新被認為是樣式定義一部分的引數。

3 font_scale

接受浮點值作為輸入,是一個可選引數。它是一個單獨的縮放因子,用於獨立縮放字型元素的大小。

在繼續繪製圖形之前,讓我們載入 seaborn 庫和資料集。

載入 seaborn 庫

要載入或匯入 seaborn 庫,可以使用以下程式碼行。

Import seaborn as sns

載入資料集

在本文中,我們將使用 seaborn 庫中內建的 Tips 資料集。以下命令用於載入資料集。

tips=sns.load_dataset("tips")

以下命令用於檢視資料集中前 5 行。這使我們能夠了解可以使用哪些變數來繪製圖形。

tips.head()

以下是上述程式碼段的輸出。

index,total_bill,tip,sex,smoker,day,time,size
0,16.99,1.01,Female,No,Sun,Dinner,2
1,10.34,1.66,Male,No,Sun,Dinner,3
2,21.01,3.5,Male,No,Sun,Dinner,3
3,23.68,3.31,Male,No,Sun,Dinner,2
4,24.59,3.61,Female,No,Sun,Dinner,4

現在我們已經載入了資料,接下來我們將透過以下示例瞭解該方法的工作原理。

示例 1

我們將設定上下文後繪製圖形。上下文可以具有值 paper、notebook、talk 和 poster。在本例中,我們將上下文設定為 paper,然後透過將列表傳遞給條形圖的 x、y 引數來生成條形圖。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.set_context("paper")
sns.barplot(x=[0, 1, 2], y=[0.5, 3.6, 9.4])
plt.show()

輸出

生成的輸出如下所示:

seaborn set context method

示例 2

在本例中,我們將使用 font_scale 引數。此引數用於增加或減少繪圖中的字型大小。在本例中,將 1.5 傳遞給 font_scale。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.set_context("poster", font_scale=1.5)
sns.barplot(x=[0, 1, 2], y=[0.5, 3.6, 9.4])
plt.show()

輸出

輸出如下所示:

set context method

示例 3

在本例中,我們將使用 tips 資料集並設定上下文,然後使用上下文為資料集繪製線形圖。上下文設定為 notebook,並且將其中一個 rc 引數 lines.linewidth 設定為 3 以顯示如何使用 rc 引數。

然後將 tips 資料集和來自此資料集的列傳遞給 lineplot。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.set_context("notebook", rc={"lines.linewidth": 3})
sns.lineplot(data=tips,x="tip",y="total_bill")
plt.show()

輸出

獲得的輸出如下:

seaborn set context
seaborn_themeing_introduction.htm
廣告

© . All rights reserved.