天天看点

python可视化进阶---seaborn1.2 调色盘color_palette()

一、调色盘

对图表整体颜色、比例进行风格设置,包括颜色色板等

调用系统风格进行数据可视化

1.color_palette()

默认6种颜色:deep,muted, pastel, bright, dark, colorblind

seaborn, color_palette(palette=None, n_colors = None, desat = None)

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
 
current_palette = sns.color_palette()
sns.palplot(current_palette)
#其它颜色风格
#风格内容:Accent,Blues,BrBG等等
sns.palplot(sns.color_palette('Accent',8))
#这里颜色风格为Accent
#颜色色块个数为8个
#风格颜色转换(不是所有颜色都可以反转):Blues/Blues_r
#分组颜色设置 -'Paried'
sns.palplot(sns.color_palette('Paired', 16))      

以下调色盘分别为current_palette, Accent, Paired

python可视化进阶---seaborn1.2 调色盘color_palette()
python可视化进阶---seaborn1.2 调色盘color_palette()
python可视化进阶---seaborn1.2 调色盘color_palette()

2、设置亮度,饱和度

可用方法:

2.1 husl_palette([n_colors, h, s, l])

2.2 hsl_palette([n_colors, h, l, s])

sns.palplot(sns.hls_palette(8 , l = .8, s = .5))
#l = 亮度
#s = 饱和度      
python可视化进阶---seaborn1.2 调色盘color_palette()

3. cubehelix_palette()

按照线性增长计算,设置颜色

sns.palplot(sns.cubehelix_palette(8, gamma = 2))
sns.palplot(sns.cubehelix_palette(8, start = .5, rot = -.75))
sns.palplot(sns.cubehelix_palette(8, start = 2, rot = 0, dark = 0, light = .95, reverse = True)      

#n_colors---> 颜色个数

#start ---> 值区间在0-3,开始颜色

#rot ---> 颜色旋转角度

#gamma ---> 颜色伽马值,越大颜色越暗

#dark,light ---> 值区间0-1,颜色越深

#reverse ---> 布尔值,默认为False,由浅到深

python可视化进阶---seaborn1.2 调色盘color_palette()
python可视化进阶---seaborn1.2 调色盘color_palette()
python可视化进阶---seaborn1.2 调色盘color_palette()

4.dark_palette(color[, n_colors, reverse, ...]) / light_palette(color[, n_colors, reverse, ...])

颜色深浅

sns.palplot(sns.light_palette('green')) #按照green做浅色调色盘
#sns.palplot(sns.color_palette('Greens')) #cmap为Greens风格
 
sns.palplot(sns.dark_palette('red', reverse = False)) #按照blue做深色调色盘
#reverse ---> 转置颜色      

注意light_palette和dark_palette的区别

python可视化进阶---seaborn1.2 调色盘color_palette()
python可视化进阶---seaborn1.2 调色盘color_palette()

5.diverging_palette()

创建分散颜色

#seaborn.diverging_palette(h_neg,

h_pos, s=75, l=50, sep=10, n=6, center='light', as_cmap=False)

sns.palplot(sns.diverging_palette(145,280, s=85, l=25, n=7))      

#h_neg, h_pos ---> 起始/终止颜色值

#s ---> 值区间0-100,饱和度

#l ---> 值区间0-100,亮度

#n ---> 颜色个数

#center ---> 中心颜色为浅色还是深色'light', 'dark', 默认为light

python可视化进阶---seaborn1.2 调色盘color_palette()

示例:

plt.figure(figsize = (8,6))

x = np.arange(25).reshape(5,5)

cmap = sns.diverging_palette(200,20,sep=20,as_cmap=True)

sns.heatmap(x, cmap=cmap)#热力图

用分散颜色制作热力图

python可视化进阶---seaborn1.2 调色盘color_palette()