除了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"))

1766

被折叠的 条评论
为什么被折叠?



