Seaborn——色彩搭配

除了Seaborn默认的颜色,我们也可以根据自己的喜好,进行设定。
首先,导入需要的包

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
sns.set(rc={"figure.figsize":(6,6)})

Seaborn调色板

  • 颜色很重要
  • color_palette()能传入任何Matplotlib所支持的颜色
  • color_palette()不写参数则默认颜色
  • set_palette()设置所有图的颜色

Seaborn中的分类色板

current_palette = sns.color_palette()
sns.palplot(current_palette)

在这里插入图片描述
根据上述Seaborn默认的颜色色板,存在10个颜色主题。(Ps:随着Seaborn官方库的更新,可能会根据安装的版本,出现不一样的结果)

图形画板
当你有六个以上的分类要区分时,最简单的方法就是在一个圆形的颜色空间中画出均匀间隔的颜色(这样的色调会保持宽度和饱和度不变)。这主要应用于需要使用比当前默认颜色循环中设置的颜色,更多时的默认方案。

最常用的方法是使用hls的颜色空间,就是RGB值的一个简单转换。

sns.palplot(sns.color_palette("hls",8))

在这里插入图片描述

data=np.random.normal(size=(20,8))+np.arange(8)/2
sns.boxplot(data=data,palette=sns.color_palette("hls",8))

在这里插入图片描述
上述就是一个图形画板的实际应用。
hls_palette()函数来控制颜色的亮度和饱和度
其中:

  • l - 亮度 lightness
  • s - 饱和 saturation
sns.palplot(sns.hls_palette(8,l=.3,s=.8))

在这里插入图片描述

sns.palplot(sns.color_palette("Paired",10))

在这里插入图片描述
同时也可以使用xkcd颜色来设置颜色
xkcd包含一套包针对随机RGB色进行命名。该包中产生了954个可以随时通过xkcd_rgb字典中调用的命名颜色。

plt.plot([0,1],[0,1],sns.xkcd_rgb["pale red"],lw=3)
plt.plot([0,1],[0,2],sns.xkcd_rgb["medium green"],lw=3)
plt.plot([0,1],[0,3],sns.xkcd_rgb["denim blue"],lw=3)

在这里插入图片描述

colors=["windows blue","amber","greyish","faded green","dusty purple"]
sns.palplot(sns.xkcd_palette(colors))

在这里插入图片描述
连续画板
色彩随数据变换,比如数据越来越重要则颜色越来越深

sns.palplot(sns.color_palette("Blues"))

在这里插入图片描述

sns.palplot(sns.color_palette("BuGn_r"))

在这里插入图片描述
cubehelix_palette调色板
色调线性变换

sns.palplot(sns.color_palette("cubehelix",8))

在这里插入图片描述

sns.palplot(sns.cubehelix_palette(8,start=.5,rot=-.75))

在这里插入图片描述

sns.palplot(sns.cubehelix_palette(8,start=.75,rot=-.150))

在这里插入图片描述
light_palette()dark_palette()调用定制连续色板

sns.palplot(sns.light_palette("green"))

在这里插入图片描述

sns.palplot(sns.dark_palette("purple"))

在这里插入图片描述

sns.palplot(sns.light_palette("navy",reverse=True))

在这里插入图片描述

x,y=np.random.multivariate_normal([0,0],[[1,-0.5],[-0.5,1]],size=300).T
pal=sns.dark_palette("green",as_cmap=True)
sns.kdeplot(x=x,y=y,cmap=pal);

在这里插入图片描述

sns.palplot(sns.light_palette((210,90,60),input="husl"))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值