seaborn---样式控制/调色板
一、样式控制
1.set([context,style,palette,font,...])
一步设定美学参数。
2.axes_style([style,rc])
返回参数字典,用于绘图的美学风格。
3.set_style([style,rc])
设定地块的审美风格。
4.plotting_context([context,font_scale,rc])
返回参数dict以缩放图形的元素。
5.set_context([context,font_scale,rc])
设置绘图上下文参数。
6.set_color_codes([调色板])
更改matplotlib颜色缩写词的解释方式。
7.reset_defaults()
将所有RC参数恢复为默认设置。
8.reset_orig()
将所有RC参数恢复为原始设置(尊重自定义rc)。
二、调色板
调色板分为三类:
- Sequential:按顺序渐变的。 - Light colours for low data, dark for high data
- Diverging:彼此之间差异变化较大的。 - Light colours for mid-range data, low and high contrasting dark colours
- Qualitative:这个用于最大程度地显示不同类之间的差别。 - Colours designed to give maximum visual difference between classes
1.color_palette()
seaborn.color_palette(palette=None, n_colors = None, desat = None)
- palette:None,string或sequence,可选,默认有6种主题:deep,muted, pastel, bright, dark, colorblind
- n_colors:颜色个数
- desat:每种颜色去饱和的比例
返回:
- palette:RGB元组列表
举例:
import seaborn as sns sns.palplot(sns.color_palette()) sns.palplot(sns.color_palette('deep',8)) sns.palplot(sns.color_palette('muted',8)) sns.palplot(sns.color_palette('pastel',8)) sns.palplot(sns.color_palette('bright',8)) sns.palplot(sns.color_palette('dark',8)) sns.palplot(sns.color_palette('colorblind',8))
其他颜色风格:Accent,Blues,BrBG
import seaborn as sns #风格内容:Accent,Blues,BrBG等等 #风格颜色转换(不是所有颜色都可以反转):Blues/Blues_r #分组颜色设置 -'Paried' sns.palplot(sns.color_palette('Paired',8)) sns.palplot(sns.color_palette('Accent',8)) sns.palplot(sns.color_palette('Blues',8)) sns.palplot(sns.color_palette('Blues_r',8)) sns.palplot(sns.color_palette('BrBG',8))
2. set_palette():
3.husl_palette():设置亮度,饱和度
seaborn.husl_palette(n_colors=6, h=0.01, s=0.9, l=0.65)
- n_colors:颜色个数
- h:第一个色调
- s:饱和度
- l:亮度
可用方法:
husl_palette([n_colors, h, s, l]) hsl_palette([n_colors, h, l, s])
举例:
sns.palplot(sns.hls_palette(8 , l = .8, s = .5))
4.cubehelix_palette():按照线性增长计算,设置颜色
seaborn.cubehelix_palette(n_colors=6, start=0, rot=0.4, gamma=1.0, hue=0.8, light=0.85, dark=0.15, reverse=False, as_cmap=False)
- n_colors:颜色个数
- start :值区间在0-3,开始颜色
- rot:颜色旋转角度
- gamma:颜色伽马值,越大颜色越暗
- dark,light:值区间0-1,颜色越深
- reverse:布尔值,默认为False,由浅到深
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))
5.dark_palette()、light_palette():深色/浅色调色板
seaborn.dark_palette(color,n_colors = 6,reverse = False,as_cmap = False,input ='rgb' )
参数:
- color:高值的颜色
- n_colors:颜色个数
- reverse:默认为False
- as_cmap:如果为True,则返回matplotlib colormap;为False,则返回list
- input:{'rgb','hls','husl','xkcd'}
返回:palette或cmap:seaborn调色板或matplotlib colormap,类似列表的颜色对象作为RGB元组,或者可以将连续值映射到颜色的颜色图对象,具体取决于as_cmap
参数的值 。
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 ---> 转置颜色 sns.palplot(sns.light_palette('red',reverse=False))
6.diverging_palette创建分散颜色
seaborn.diverging_palette(h_neg,h_pos, s=75, l=50, sep=10, n=6, center='light', as_cmap=False)
参数:
- h_neg,h_pos:[0,359]
定位在负数与正数色调范围 - s:[0,100],可选
定位饱和度 - l:[0,100],可选
定位亮度 - n:int,可选
如果不返回cmap,将返回颜色数字 - center:{“light”,“dark”},可选
调色板中心是亮还是暗 - as_cmap:布尔,可选
如果为真,返回matplotlib colormap 对象;否则返回一个颜色列表
返回:
- palette or cmap:seaborn color palette 或者matplotlib colormap
颜色的类表对象(RGB元组),或者colormap能够映射连续的值到颜色,决定于 as_cmap 参数
举例:
sns.palplot(sns.diverging_palette(200, 20, l=40, n=4))
用分散颜色制作热力图
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)#热力图
效果如下:
7.blend_palette()
8.xkcd_palette():命名颜色
xkcd包含了一套众包努力的针对随机RGB色的命名。产生了954个可以随时通过xdcd_rgb字典中调用的命名颜色
colors = ["windows blue", "amber", "greyish", "faded green", "dusty purple"] sns.palplot(sns.xkcd_palette(colors))
plt.plot([0, 1], [0, 1], sns.xkcd_rgb["pale red"], lw=1) 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)
9.crayon_palette()
10.mpl_palette()
三、调色板小部件
1.choose_colorbrewer_palette(data_type [,as_cmap])
从ColorBrewer集中选择一个调色板
2.choose_cubehelix_palette([as_cmap])
启动交互式小部件以创建顺序cubehelix调色板
3.choose_light_palette([input,as_cmap])
启动交互式小部件以创建轻型顺序调色板
4.choose_dark_palette([input,as_cmap])
启动交互式小部件以创建暗序连接调色板
5.choose_diverging_palette([as_cmap])
启动交互式小部件以选择不同的调色板
四、实用功能
1.load_dataset(name [,cache,data_home])
从在线存储库加载数据集(需要互联网)
2.despine([fig,ax,top,right,left,bottom,...])
从图中移除顶部和右侧脊柱。
3.desaturate(颜色,道具)
将颜色的饱和度通道减少百分之几
4.saturate(颜色)
返回具有相同色调的完全饱和的颜色
5.set_hls_values(颜色[,h,l,s])
独立操作颜色的h,l或s通道
参考文献: