颜色在可视化中非常重要,用来代表各种特征,并且提高整个图的观赏性。在Seaborn中颜色主要分为连续渐变性和离散分类性。
Seaborn库主要用color_palette()函数实现颜色设置,color_palette()能传入任何Matplotlib所支持的颜色,不写参数则默认颜色。
set_palette()设置所有图的颜色。Seaborn库有6个默认的颜色循环主题: deep、muted、pastel、 bright、dark、colorblind,默认颜色效果如图所示。
import matplotlib.pyplot as plt # 导入matplotlib库
import seaborn as sns # 导入seaborn库
current_palette = sns.color_palette()
sns.palplot(current_palette)
plt.show()
Seaborn 默认颜色
默认的颜色只有十种,当需要更多的颜色时,可以使用hls色彩空间,还可以通过hls_palette()函数来改变颜色的亮度和饱和度,显示效果如图所示。
import matplotlib.pyplot as plt # 导入matplotlib库
import seaborn as sns # 导入seaborn库
current_palette = sns.color_palette()
sns.palplot(current_palette) # 默认颜色空间
sns.palplot(sns.color_palette("hls", 12)) # hls色彩空间
sns.palplot(sns.hls_palette(8, l=.5, s=.7)) # l值为亮度,s 值为饱合度
plt.show()
Seaborn 颜色设置
例如在绘制箱线图时,应用hls色彩空间可以得到较好的显示效果。
import numpy as np
import matplotlib.pyplot as plt # 导入matplotlib库
import seaborn as sns # 导入seaborn库
data = np.random.normal(size=(20, 8)) + np.arange(8) / 2
sns.boxplot(data=data) # 默认颜色空间
plt.show()
sns.boxplot(data=data, palette=sns.color_palette("hls", 8)) # hls色彩空间
plt.show()
可设置色彩随数据变换,例如要实现数据越来越重要颜色越来越深的效果,可以在颜色后加s实现。想要实现翻转渐变的效果,可以在面板名称中添加一个_r后缀,实现效果如图10.33所示。
import matplotlib.pyplot as plt # 导入matplotlib库
import seaborn as sns # 导入seaborn库
current_palette = sns.color_palette()
sns.palplot(current_palette) # 默认颜色空间
sns.palplot(sns.color_palette("Blues")) # 颜色越来越深
sns.palplot(sns.color_palette("BuGn_r")) # 翻转渐变
plt.show()