seaborn的学习日志

1. Relational plots(关系图)

数据分析中就是理解变量如何相互关联,当这些关系被正确可视化时,我们往往可以从中获取某种关系或模式。

Relational plots 主要讨论三个函数:

  • scatterplot(散点图)
  • lineplot(线图)
  • relplot(关系图)

首先,我们导入库函数:

import numpy as np
import pandas as pd

import matplotlib.pyplot as plt
import seaborn as sns
  • 1
  • 2
  • 3
  • 4
  • 5

1.1 scatterplot(散点图)

散点图是利用散点来描述两个变量的联合分布,scatterplot 适用于变量都是数字的情况。在后面的Categorical plots(分类图)中,我们将会看到使用散点图可视化分类数据的专门工具。

#scatterplot参数
seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None, 
data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, 
size_order=None, size_norm=None, markers=True, style_order=None,
 x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000, 
 alpha='auto', x_jitter=None, y_jitter=None, legend='brief', ax=None, **kwargs)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Seaborn函数中的参数特别多,但是其实大部分都是相同的,因此,我们可以很容易类推到其他函数的使用。下面简单介绍这些参数的含义。

  • x,y: 传入的特征名字或Python/Numpy数据,x表示横轴,y表示纵轴,一般为dataframe中的列。如果传入的是特征名字,那么需要传入data,如果传入的是Python/Numpy数据,那么data不需要传入。因为Seaborn一般是用来可视化Pandas数据的,如果我们想传入数据,那使用Matplotlib也可以。
  • hue: 分组变量,将产生不同颜色的点。可以是分类的,也可以是数字的。被视为类别
  • data: 传入的数据集,可选。一般是dataframe
  • style: 分组变量,将产生不同标记点的变量分组。被视为类别
  • size: 分组变量,将产生不同大小的点。可以是分类的,也可以是数字的。
  • palette: 调色板,后面单独介绍。
  • markers: 绘图的形状,后面单独介绍。
  • ci: 允许的误差范围(空值误差的百分比,0-100之间),可为‘sd’,则采用标准差(默认95)
  • n_boot(int): 计算置信区间要使用的迭代次数
  • alpha: 透明度
  • x_jitter, y_jitter: 设置点的抖动程度。

下面给出两个例子

# 使用seaborn的数据
tips = sns.load_dataset('tips')
sns.scatterplot(x='total_bill',y='tip',data=tips)
plt.show()
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

sns.scatterplot(x='total_bill',y='tip',hue='day',style='time',size='size',data=tips)
plt.show()
  • 1
  • 2

在这里插入图片描述

1.2 lineplot(线图)

seaborn.lineplot(x=None, y=None, hue=None, size=None, style=None,
 data=None, palette=None, hue_order=None, hue_norm=None, sizes=None,
  size_order=None, size_norm=None, dashes=True, markers=None, 
  style_order=None, units=None, estimator='mean', ci=95, n_boot=1000, 
  sort=True, err_style='band', err_kws=None, legend='brief', ax=None, **kwargs)
  • 1
  • 2
  • 3
  • 4
  • 5

参数和散点图差不多,所以直接上例子:

fmri = sns.load_dataset('fmri')
sns.lineplot(x="timepoint", y="signal", data=fmri)
# 阴影是默认的置信区间,可设置ci=0,将其去除
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值