01 初始seaborn
seaborn是python中的一个可视化库,是对matplotlib进行二次封装而成,既然是基于matplotlib,所以seaborn的很多图表接口和参数设置与其很是接近。相比matplotlib而言,个人认为seaborn的几个鲜明特点如下:
绘图接口更为集成,可通过少量参数设置实现大量封装绘图
多数图表具有统计学含义,例如分布、关系、统计、回归等
对Pandas和Numpy数据类型支持非常友好
风格设置更为多样,例如风格、绘图环境和颜色配置等
正是由于seaborn的这些特点,在进行EDA(Exploratory Data Analysis, 探索性数据分析)过程中,seaborn往往更为高效。然而也需指出,seaborn与matplotlib的关系是互为补充而非替代:多数场合中seaborn是绘图首选,而在某些特定场景下则仍需用matplotlib进行更为细致的个性化定制。
按照惯例,后文将seaborn简写为sns。
至于seaborn简写为sns而非sbn的原因,感兴趣者可自行查阅(关键词:why import seaborn as sns?)。
02 风格设置
seaborn的风格设置主要分为两类,其一是风格(style)设置,其二是环境(context)设置。
- 风格设置
seaborn设置风格的方法主要有三种:
set,通用设置接口
set_style,风格专用设置接口,设置后全局风格随之改变
axes_style,设置当前图(axes级)的风格,同时返回设置后的风格系列参数,支持with关键字用法
当前支持的风格主要有5种:
darkgrid,默认风格
whitegrid
dark
white
ticks
https://image.ipaiban.com/upload-ueditor-image-20200622-1592793124832047177.png
seaborn 5种内置风格与matplotlib绘图风格对比
相比matplotlib绘图风格,seaborn绘制的直方图会自动增加空白间隔,图像更为清爽。而不同seaborn风格间,则主要是绘图背景色的差异。
- 环境设置
设置环境的方法也有3种:
set,通用设置接口
set_context,环境设置专用接口,设置后全局绘图环境随之改变
plotting_context,设置当前图(axes级)的绘图环境,同时返回设置后的环境系列参数,支持with关键字用法
当前支持的绘图环境主要有4种:
notebook,默认环境
paper
talk
poster
https://image.ipaiban.com/upload-ueditor-image-20200622-1592793489040070850.png
seaborn 4种绘图环境对比
可以看出,4种默认绘图环境最直观的区别在于字体大小的不同,而其他方面也均略有差异。详细对比下4种绘图环境下的系列参数设置:
https://image.ipaiban.com/upload-ueditor-image-20200622-1592795197230045428.png
点击查看大图
03 颜色设置
seaborn风格多变的另一大特色就是支持个性化的颜色配置。颜色配置的方法有多种,常用方法包括以下两个:
color_palette,基于RGB原理设置颜色的接口,可接收一个调色板对象作为参数,同时可以设置颜色数量
hls_palette,基于Hue(色相)、Luminance(亮度)、Saturation(饱和度)原理设置颜色的接口,除了颜色数量参数外,另外3个重要参数即是hls
同时,为了便于查看调色板样式,seaborn还提供了一个专门绘制颜色结果的