Seaborn使用基础教程_数据分析工具Seaborn
- 2021-10-30
- 来源/作者: 菜鸟图库/ 菜鸟图库
- 360 次浏览
Python作为常用的数据分析工具,在可视化工具上,有很多优秀的第三方库如matplotlib、seaborn、plotly、cufflinks、boken、pyecharts等。由于matplotlib绘制的图表大多数时候确实不太美观,且使用较古怪,seaborn对matplotlib进行了进一步的封装,它是matplotlib的一个高级API,使用方便。(相当于cufflinks封装了plotly一样)在数据科学竞赛及数据分析领域,matplotlib+seaborn依然是主流的配置,尽管plotly等对其有所冲击(看个人喜好吧)。
安装
运行pip install seaborn进行安装,Seaborn交互性极强,建议使用jupyter notebook作为IDE。(pip install jupyter安装,命令行jupyter notebook启动)
数据
- 
数据源
    - seaborn提供了一些常见的数据集,本文使用tips小费数据集。
 
- 
导入数据
    
- 1
- 2
- 3
- 4
- 5
 
- 
查看数据
    - tips数据集包含消费账单的大小、小费、性别、是否吸烟、星期几、时间、人数等。 
 
- tips数据集包含消费账单的大小、小费、性别、是否吸烟、星期几、时间、人数等。
图表
Seaborn的最大优点在于其提供了较为美观的各类图表,这也是为什么平时更多使用seaborn而不是matplotlib直接绘制的原因。
- 
散点图
    - 
        
- 1
- 2
- 3
- 4
 - x表示x轴所取数据的列名称
- y表示y轴所取数据的列名称
- data表示数据来源的dataframe
- height表示绘图大小
- fit_reg表示是否显示拟合回归线,默认显示
- hue表示是否显示第三个维度的嵌套信息,类似x和y那样指定,以不同颜色在二维图上区分。
 
- 简单绘制如下。 
 
- 
        
- 
折线图
    - 
        
- 1
- 2
 - 后面所有图标参数类似上面的散点图。
 
- 简单绘制如下。 
 
- 
        
- 
条形图
    - 
        
- 1
- 2
 - 参数同上。
 
- 简单绘制如下。 
 
- 
        
- 
计数条形图
    - 
        
- 1
- 2
 - 参数同上。
 
- 简单绘制如下。 
 
- 
        
- 
核密度图
    - 
        
- 1
- 2
 - 参数同上。
 
- 简单绘制如下。 
 
- 
        
- 
箱型图
    - 
        
- 1
- 2
- 3
- 4
 - 参数同上。
 
- 简单绘制如下,增强箱型图显示更多分位数。 
 
- 
        
- 
热度图
    - 
        
- 1
- 2
 - 参数同上。
 
- 一般用于绘制相关系数矩阵,如下。 
 
- 
        
高级函数
针对数据可视化的不同目的,seaborn提供了relplot(),catplot(),displot(),lmplot()四大主要高级函数。
- seaborn与pandas的DataFrame的结合非常紧密,因此传参直接传入列名即可。
- 
这些高级函数的主要参数如下。
    - x,y:输入变量
- data:输入数据的DataFrame
- hue:分组变量
- style:风格,hue分组后每组数据作图风格可不一致
- col,row:决定平面网格图布局的变量
- kind:底层作图类型名称,如"line",“bar”,"box"等
- 注意:由于返回的平面网格图子图间距可能不合理,使用plt.tight_layout()自动调整布局。
 
- 
可视化变量关系(relationship)
    - 
        
- 1
- 2
 
- 方便观察变量关系,默认散点图。 
 
- 
        
- 
分类数据的分布图(categorical)
    - 
        
- 1
- 2
 
- 方便观察分类数据的分布情况。 
 
- 
        
- 
数据集分布图(distribution)
    - 方便对整个数据集有个初步了解。以及分散为另外几个函数。
 
- 
回归线图(linear model)
    - 
        
- 1
- 2
 
- 类似第一种,不过lmplot的data必须给出而relplot不需要,所以relplot是底层函数。 
 
- 
        
定制
Seaborn是基于matplotlib的封装,很多底层的定制仍然需要使用matplotlib定制,如label、lim等。
- 
对上一届的折线图x轴进行限制。
    - 
        
- 1
- 2
- 3
 
- 可以看到,底层定制还是有matplotlib完成。 
 
- 
        
风格
- 
说明
    - seaborn提供5种绘图风格darkgrid、whitegrid、dark、white、ticks。可以进行切换。
 
- 
    
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
 
- 热图可以通过cmap修改色值显示。 
 
                 
               
            


