📜  如何更改 Seaborn Legends 的字体大小、位置和颜色?(1)

📅  最后修改于: 2023-12-03 15:09:10.073000             🧑  作者: Mango

如何更改 Seaborn Legends 的字体大小、位置和颜色?

Seaborn是基于Matplotlib的一个Python数据可视化库,它提供了一些方便、高效的默认样式和颜色,使得我们可以更快速地创建漂亮的图像。Seaborn自带了一些默认的图例,但是在实际应用中,我们可能需要对图例进行一些调整,比如更改字体大小、位置和颜色等。在这篇文章中,我们将介绍如何实现这些功能。

更改字体大小

可以使用matplotlib.rcParams对字体大小进行全局配置:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style="whitegrid")

# 查看当前字体大小
print(plt.rcParams['font.size'])

# 设置全局字体大小为16
plt.rcParams.update({'font.size': 16})

# 创建一个带图例的散点图
tips = sns.load_dataset("tips")
ax = sns.scatterplot(x="total_bill", y="tip", hue="day", data=tips)
plt.legend(loc="upper right")
plt.show()

这里我们使用了plt.rcParams.update({'font.size': 16})将字体大小设置为16,然后创建了一个带有图例的散点图ax。最后调用了plt.legend函数显示图例。

注意如果不设置全局字体大小,Seaborn 中的图例字体大小将会基于原始图像的大小自适应调整。

更改位置

Seaborn使用plt.legend函数来添加图例,我们可以使用loc参数来设置图例的位置。这个参数可以取值为标准的Matplotlib位置字符串或整数数字,例如"upper right"或"2"等等。

import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style="whitegrid")

# 创建一个带图例的散点图
tips = sns.load_dataset("tips")
ax = sns.scatterplot(x="total_bill", y="tip", hue="day", data=tips)
plt.legend(loc="upper right")
plt.show()

这里我们将图例设置为"upper right"位置,即显示在图像的右上角。

更改颜色

Seaborn的默认颜色主题可以使用sns.color_palette()设置,它提供了一些预定义的颜色列表,例如"hls"、"husl"、"deep"等等。我们可以在创建图像之前设置颜色主题。

import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style="whitegrid")

# 设置颜色主题
sns.set_palette("deep")

# 创建一个带图例的散点图
tips = sns.load_dataset("tips")
ax = sns.scatterplot(x="total_bill", y="tip", hue="day", data=tips)
plt.legend(loc="upper right")
plt.show()

这里我们将颜色主题设置为"deep",然后创建了一个带有图例的散点图ax。最后调用了plt.legend函数显示图例。

注意在使用自定义颜色列表时,需要将其作为参数传递给sns.color_palette()函数,并将其结果传递给sns.set_palette()函数。

总结

在本文中,我们学习了如何使用Seaborn更改图例的字体大小、位置和颜色。这些技巧可以帮助我们更好地呈现数据,并提高图像的可读性。