导入包:
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
使用xkcd颜色来命名颜色
XKCD 作者 Randall Munroe 曾发起一项网络调查,让用户为颜色命名,最终收集了 954 种颜色的通用名称。
xkcd命名的名称列表https://xkcd.com/color/rgb/
例如:
plt.plot([0, 1], [0, 1], color=sns.xkcd_rgb['teal'], lw=5)
plt.plot([0, 1], [0, 2], color=sns.xkcd_rgb['cerulean'], lw=5)
plt.plot([0, 2], [0, 1], color=sns.xkcd_rgb['light orange'], lw=5)
再例如:
xkcd_color_names = ['cream', 'cobalt', 'bluish green', 'dull purple']
sns.palplot(sns.xkcd_palette(xkcd_color_names))
连续调色版
色彩随数据变化,例如数据越重要则颜色越深:
sns.palplot(sns.color_palette('Greens', n_colors=10))
如果想要翻转,可以在面板名称中添加一个_r
后缀:
sns.palplot(sns.color_palette('Greens_r', n_colors=10))
cubehelix_palette调色板
cubehelix_palette调色板是一种 色盲友好 的连续颜色系统,旨在生成从暗到亮(或从亮到暗)的渐变色,同时保持亮度的单调变化,并确保在黑白打印或不同色盲类型下仍可区分。
sns.palplot(sns.cubehelix_palette())
sns.palplot(sns.cubehelix_palette(8))
sns.palplot(sns.color_palette('cubehelix'))
指定start值:
sns.palplot(sns.cubehelix_palette(8, start=2))
改变螺旋的旋转量:
sns.palplot(sns.cubehelix_palette(8, rot=.2))
light_palette 和 dark_palette:定制连续调色版
sns.palplot(sns.light_palette('blue'))
sns.palplot(sns.dark_palette('blue'))
sns.palplot(sns.light_palette('green'))
sns.palplot(sns.dark_palette('green'))
翻转:
sns.palplot(sns.light_palette('green', reverse=True))
画个图看看效果:
x, y = np.random.multivariate_normal([0, 0], [[2, 1], [1, 2]], size=200).T
custom_palette = sns.light_palette('green', as_cmap=True)
sns.kdeplot(x=x, y=y, cmap=custom_palette)
基于 HUSL 颜色空间 生成一个从浅色到指定颜色的连续渐变色板:
sns.palplot(sns.light_palette((150, 60, 60), input='husl'))