seaborn快速入门(2)——调色板

首先,初始化设置

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

1. 分类颜色系统

分类色板有6种颜色,使用color_palette函数创建:

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

分类色板有6套主题:deep, muted, pastel, bright, dark, colorblind.



使用调试版的方式:

data = np.random.normal(size=(20,8))+np.arange(8)/2
# 通过palette设置调色板
sns.boxplot(data=data,palette=current_palette)

2. 圆形颜色系统(circular color systems)

当有6个以上的图形需要区分时,最简单的方法就是在圆形的颜色空间中均匀的划分多个颜色。

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

可以使用hls_palette函数来控制明度和饱和度:

sns.palplot(sns.hls_palette(8, l=.6, s=.2))

使用调色板:

data = np.random.normal(size=(20,8))+np.arange(8)/2
current_palette =sns.hls_palette(8, l=.6, s=.8)
# 通过palette设置调色板
sns.boxplot(data=data,palette=current_palette)

3. Color Brewer

颜色成对出现,一浅一深。

# 10中颜色,成对出现
sns.palplot(sns.color_palette("Paired",10))

4. 使用xkcd颜色来命名颜色

通过调查,xkcd对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);

5. 明度渐变色板

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

如果要翻转渐变的方向,可以在颜色后加“_r”

sns.palplot(sns.color_palette("Blues_r"))

6. 使用cubehelix制作明度与色相渐变

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

使用cubehelix_palette函数可以提供参数进行控制:

# start取值(0,3),表示颜色,rot表示旋转,取值(1,-1)。dark表示暗部颜色,light表示亮部颜色, reverse表示翻转
sns.palplot(sns.cubehelix_palette(8, start=2, rot=0, dark=0, light=.95, reverse=True))

7.自定义渐变

sns.palplot(sns.light_palette("Blue", reverse=True))
sns.palplot(sns.dark_palette("purple"))

例如:

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

参考:http://seaborn.pydata.org/tutorial/color_palettes.html

你可能感兴趣的:(seaborn快速入门(2)——调色板)