Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。
设置风格通过axes_style()和set_style()实现,为了缩放图形一般用plotting_context()和set_context();对于两种情况,前一个函数类似于get,后一个类似于set。
import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
%matplotlib inline 实时打印图像出来
sns.set_style('whitegrid')
data = np.random.normal(size=(20,6))+np.arange(6)/2
sns.boxplot(data=data)
seaborn内置五种主题:darkgrid,whitegrid,dark,white和ticks,默认位darkgrid
调色板
- color_palette()能传入任何matplotlib所支持的颜色
- set_palette()设置所有图的颜色
- hls_palette()函数来控制颜色的亮度和饱和度 (l-亮度,s-饱和度)
分类调色板
current_palette = sns.color_palette()
sns.palplot(current_palette) #plot current color palette;
sns.set_palette("husl")
pal = sns.dark_palette('purple', as_cmap=True)
sns.kdeplot(x, y, cmap=pal)
sns.palplot(sns.color_palette("hls",8))#分成八种颜色
sns.palplot(sns.hls_palette(8,l=7,s=9))#饱和度设置
sns.palplot(sns.hls_palette("Paired",8))#色对
使用xkcd颜色来命名颜色
- xkcd包含了一系列的针对随机RGB色的命名,产生了954个可以随时通过xkcd_rgb字典中调用的命名颜色
plt.plot([0,1],[0,1]),sns.xkcd_rgb["pale red"],lw=3)
plt.plot([0,1],[0,1]),sns.xkcd_rgb["medium green"],lw=3)
plt.plot([0,1],[0,1]),sns.xkcd_rgb["denim blue"],lw=3)
连续调色板
色彩随着数据变换,比如数据越来越重要,颜色也越来越深
sns.paplot(sns.color_palette("Blues"))
sns.paplot(sns.color_palette("BuGn_r")) #若想要渐变翻转,可以在面板名称中添加一个_r后缀
light_palette()和dark_palette()调用定制连续调色板
sns.paplot(sns.light_palette("green"))
sns.paplot(sns.light_palette("green"))