Python编程数据分析篇之Seaborn绘图

本文深入探讨Seaborn库在Python数据分析中的绘图应用,包括关系型绘图、分类图、分布图、线性回归图、FacetGrid结构图以及样式和调色板设置。通过实例解析seaborn.relplot()、catplot()、jointplot()、regplot()等功能,展示如何绘制散点图、线图、箱型图、条形图、直方图等,并提供样式定制和颜色选择建议。
摘要由CSDN通过智能技术生成

Python编程数据分析篇之Seaborn绘图


关系型绘图

seaborn.relplot()

这个函数功能非常强大,可以用来表示多个变量之间的关联关系。默认情况下是绘制散点图,也可以绘制线形图,具体绘制什么图形是通过kind参数来决定的。实际上以下两个函数就是relplot的特例:

  • 散点类型:scatterplot --> relplot(kind=‘scatter’)
  • 线性类型:lineplot --> relplot(kind=‘line’)

基本使用

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset('tips',cache=True)
sns.relplot(x='total_bill',y='tip',data=tips)
plt.show()

hue参数
hue参数是用来控制第三个变量的颜色显示的。比如我们在以上图的基础之上体现出星期几的参数,那么可以通过以下代码来实现。

sns.relplot(x='total_bill',y='tip',hue='day',data=tips)

col和row参数
col和row,可以根据某个属性的值的个数将图分割成多列或多行。比如在以上的基础上我们想要把Lunch和Dinner分割成两个图来显示,可以通过以下代码来实现。

sns.relplot(x='total_bill',y='tip',data=tips,hue='day',col='time')

分类绘图

分类图的绘制采用的是sns.catplot来实现的。cat是category的简写。这个方法默认绘制的是分类散点图,如果想要绘制其它类型的图,同样可以通过kind参数来指定。
主要分为:

  • 分类散点图
  • 分类分布图
  • 分类统计图

分类散点图

分类散点图比较适合数据量不是很大的情况,用catplot来实现,但也有以下两个特别的方法。

  • stripplot():catplot(kind=‘strip’) 默认的
  • swarmplot():catplot(kind=‘swarm’)
sns.catplot(x='total_bill',y='tip',data=tips,hue='sex')

分类分布图

分类分布图主要是根据分类来看,然后在每个分类下数据的分布情况。也是通过catplot来实现,以下三个方法分别是不同的kind参数。

  • 箱型图:boxplot() (with kind=‘box’)
  • 小提琴图:violinplot() (with kind=‘violin’)
    小提琴图实际上就是两个对称的核密度曲线合并起来,然后中间是一个箱型图(也可以为其它图形)

分类统计图

分类统计图则是根据分类统计每个分类下的数据的个数或者比例。有以下几种方式:

  • 条形图:barplot() (with kind=‘bar’)
  • 柱状图:countplot() (with kind=‘count’)
  • 点线图:pointplot() (with kind=‘point’)
    条形图
    seaborn中的条形图具有统计功能,可以统计出比例、平均数,也可以按照你想要的统计函数来统计。示例代码如下:
sns.catplot(x='day',y='totao_bill',data=tips,kind='bar')

柱状图
seaborn中的柱状图函数中的参数x和y不能同时存在。代码示例如下:

sns.catplot(y='totao_bill',data=tips,kind='count')

点线图

sns.catplot(y='totao_bill',data=tips,kind='point')

分布绘图

分布绘图主要分为单变量分布二变量分布以及pairplot分布

单变量分布

单一变量主要就是通过直方图来绘制。在seaborn中直方图的绘制采用distplot,其中dist是distribution的简写,不是histogram的简写。示例代码如下:

titanic = pd.read_csv('titanic.csv')
sns.distplot(titanic.age,kde=False,bins
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值