Seaborn.set_theme() 方法

Seaborn.set_theme() 方法用于设置控制绘图的一般样式的参数。 换句话说,此方法直观地设置了 matplotlib 和 seaborn 图的所有方面。

此函数执行的主题分为多组参数值,同时使用 matplotlib rcParams 系统更改所有图的所有默认值。

语法

以下是 set_theme() 方法的语法 −

seaborn.set_theme(context='notebook', style='darkgrid', palette='deep', font='sans-serif', font_scale=1, color_codes=True, rc=None)

参数

此方法的参数将在下面讨论。

S.No 方法和说明
1 Context

将字符串或字典作为输入并缩放参数。

2 Style

将字符串或字典作为输入并确定轴样式参数

3 Palette

将字符串或序列作为输入并确定调色板

4 Font

将字符串作为输入并设置绘图的字体系列。

5 Font_scale

以一个浮点值作为输入,分离缩放因子,独立缩放字体元素的大小。

6 Color_codes

取一个布尔值,如果为 true 并且 palette 是 seaborn 调色板,则将速记颜色代码重新映射到他的调色板中的颜色。

7 rc

接受一个字典作为输入并接受值来覆盖上面的值。


加载 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

我们在下面的代码中设置主题,然后绘制条形图以查看是否已反映更改。 在下面的代码中,主题的样式设置为"whitegrid",调色板为柔和的,这意味着获得的绘图将具有柔和的颜色。 稍后初始化条形图以查看该图,条形图的 x 和 y 参数是包含一些要绘制的值的列表。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.set_theme(style="whitegrid", palette="pastel")
sns.barplot(x=["Jan", "Mar", "Aug"], y=[70, 30, 50])
plt.show()

输出

seaborn_set_theme_method.jpg

示例 2

我们将在这个例子中使用提示数据集来绘制,而不是像前面的例子那样初始化。 我们将 tips 数据集和列、tip、total_bill 和 sex 传递给要绘制的 barplot 方法,在这种情况下,样式设置为刻度,调色板选择为深色

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.set_theme(style="ticks", palette="dark")
sns.barplot(data=tips,x="tip" ,y="total_bill",hue="sex")
plt.show()

输出

得到的输出图如下 −

set_theme_method

示例 3

在此示例中,设置了自定义参数并将这些参数传递给 set_theme() 方法,然后绘制图表以查看对主题所做的更改。

自定义参数在字典中用键值对初始化,如下所示。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
custom_params = {"axes.spines.right": False, "axes.spines.top": False,"axes.spines.left":False}
sns.set_theme(style="ticks", palette="light:#5A9",rc=custom_params,color_codes=True)
sns.histplot(x=["Jan", "Mar", "Aug"], y=[70, 30, 50])
plt.show()

输出

得到的图如下 −

set_theme

❮Seaborn 主题简介