对seaborn库的简单学习

对seaborn库的简单学习

参考网站

  https://seaborn.pydata.org/api.html
  https://www.cntofu.com/book/172/README.md

seaborn简介

  seaborn是在matplotlib基础上进行封装,seaborn就是让困难的东西更加简单。用Matplotlib最大的困难是其默认的各种参数,而Seaborn则完全避免了这一问题。seaborn是针对统计绘图的,一般来说,seaborn能满足数据分析90%的绘图需求,复杂的自定义图形,还是要Matplotlib。Seaborn旨在使可视化成为探索和理解数据的核心部分。其面向数据集的绘图功能对包含整个数据集的数据框和数组进行操作,并在内部执行必要的语义映射和统计聚合,以生成信息图。

  导入需要的库和数据集,大家可以任意选择一个数据集

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei'] # 设置字体样式
plt.rcParams['axes.unicode_minus']=False # 设置字符不显示
import warnings
warnings.filterwarnings('ignore')

import seaborn as sns
import pandas as pd

data = pd.read_csv('./data1')
data.head()

在这里插入图片描述
  查看数据信息
在这里插入图片描述

各参数的作用及参入数据的类型

x,y,hue   数据集变量   变量名
date   数据集   数据集名
row,col   更多分类变量进行平铺显示   变量名
col_wrap   每行的最高平铺数   整数
estimator   在每个分类中进行矢量到标量的映射   矢量
ci   置信区间   浮点数或None
n_boot   计算置信区间时使用的引导迭代次数   整数
units   采样单元的标识符,用于执行多级引导和重复测量设计   数据变量或向量数据
order, hue_order   对应排序列表   字符串列表
row_order, col_order   对应排序列表   字符串列表
kind :   可选:point 默认, bar 柱形图, count 频次, box 箱体, violin 提琴, strip 散点,swarm 分散点
size   每个面的高度(英寸)   标量
aspect   纵横比   标量
orient   方向   “v”/“h”
color   颜色   matplotlib颜色
palette   调色板   seaborn颜色色板或字典
legend   hue的信息面板   True/False
legend_out   是否扩展图形,并将信息框绘制在中心右边   True/False
share{x,y}   共享轴线   True/False

1.关系图 (Relational plots)

1.1 relplot

sns.relplot(x='卧室数量', y='月租金', kind='line', data=data) # 相当于sns.lineplot

# 通过绘制平均值和平均值周围的95%置信区间,汇总每个x值处的多个测量值

在这里插入图片描述

sns.relplot(x='卧室数量', y='月租金', kind='line', data=data, ci=None) # 不显示聚合的阴影

在这里插入图片描述

sns.relplot(x='卧室数量', y='月租金', kind='scatter', data=data)

在这里插入图片描述

1.2 scatterplot

sns.scatterplot(x='卧室数量', y='月租金', data=data)

在这里插入图片描述

sns.relplot(x='小区名', y='月租金', kind='scatter', data=data)

在这里插入图片描述

sns.scatterplot(x='小区名', y='月租金', data=data, hue='厅的数量')

在这里插入图片描述

sns.scatterplot(x='小区名', y='月租金', data=data, style='厅的数量')

在这里插入图片描述

1.3 lineplot

sns.lineplot(x='总楼层', y='月租金', data=data)

在这里插入图片描述

2.分布图

2.1 displot

displot([data, x, y, hue, row, col, …]) 图形级接口,用于在FacetGrid上绘制分布图。

sns.displot(data=data, x='小区名', kind='kde')

在这里插入图片描述

2.2 histplot

histplot([data, x, y, hue, weights, stat, …]) 绘制单变量或双变量直方图以显示数据集的分布。

sns.histplot(data=data, x='小区名', y='月租金')

在这里插入图片描述

2.3 kdeplot

kdeplot([x, y, shade, vertical, kernel, bw, …])使用核密度估计绘制一元或二元分布图。

  核密度估计(kernel density estimation)是在概率论中用来估计未知的密度函数,属于非参数检验方法之一。通过核密度估计图可以比较直观的看出数据样本本身的分布特征。

sns.kdeplot(data['小区名'], data['月租金'])

在这里插入图片描述

sns.kdeplot(data['月租金'])

在这里插入图片描述

2.4 ecdfplot

ecdfplot([data, x, y, hue, weights, stat, …]) 绘制经验累积分布函数。

sns.ecdfplot(data=data, x='月租金')

在这里插入图片描述

2.5 rugplot

rugplot([x, height, axis, ax, data, y, hue, …])通过沿x和y轴绘制记号来绘制边缘分布。

sns.rugplot(data=data, x='房屋面积', y='月租金')

在这里插入图片描述

2.6 distplot

distplot([a, bins, hist, kde, rug, fit, …])不推荐:灵活地绘制观察值的单变量分布。

sns.distplot(data['月租金'])

在这里插入图片描述

分类图

3.1 catplot

catplot(*[, x, y, hue, data, row, col, …])图形级接口,用于在FacetGrid上绘制分类图。

sns.catplot(data=data, x='房屋朝向', y='月租金')

在这里插入图片描述

3.2 stripplot

stripplot(*[, x, y, hue, data, order, …])画一个散点图,其中一个变量是范畴变量。

sns.stripplot(data=data, x='厅的数量', y='月租金')

在这里插入图片描述

3.3 swarmplot

swarmplot(*[, x, y, hue, data, order, …])用不重叠的点绘制一个分类散点图。

sns.swarmplot(data=data, x='厅的数量', y='月租金')

在这里插入图片描述

3.4 boxplot

boxplot(*[, x, y, hue, data, order, …])绘制一个方框图以显示与类别相关的分布。

sns.boxplot(data=data, x='厅的数量', y='月租金')

在这里插入图片描述

3.5 violinplot

violinplot(*[, x, y, hue, data, order, …])绘制盒形图和核密度估计的组合。

sns.violinplot(data=data, x='厅的数量', y='月租金')

在这里插入图片描述

3.6 boxenplot

boxenplot(*[, x, y, hue, data, order, …])为较大的数据集绘制增强的方框图。

sns.boxenplot(data=data, x='厅的数量', y='月租金')

在这里插入图片描述

3.7 pointplot

pointplot(*[, x, y, hue, data, order, …])使用散点图图示符显示点估计值和置信区间。

sns.pointplot(data=data, x='厅的数量', y='月租金')

在这里插入图片描述

3.8 barplot

barplot(*[, x, y, hue, data, order, …])将点估计和置信区间显示为矩形条。

sns.barplot(data=data, x='厅的数量', y='月租金')

在这里插入图片描述

3.9 countplot

countplot(*[, x, y, hue, data, order, …])使用条形图显示每个分类箱中的观察值计数。

sns.countplot(data=data, x='厅的数量')

在这里插入图片描述

回归图

4.1 lmplot

lmplot(*[, x, y, data, hue, col, row, …])绘图数据和回归模型适用于FacetGrid。

sns.lmplot(data=data, x='厅的数量', y='月租金')

在这里插入图片描述

4.2 regplot

regplot(*[, x, y, data, x_estimator, …])绘图数据和线性回归模型拟合。

sns.regplot(data=data, x='厅的数量', y='月租金')

在这里插入图片描述

4.3 countplot

residplot(*[, x, y, data, lowess, …])绘制线性回归的残差。

sns.regplot(data=data, x='厅的数量', y='卧室数量')

在这里插入图片描述

矩阵图

5.1 heatmap

heatmap(data, *[, vmin, vmax, cmap, center, …])将矩形数据绘制为彩色编码矩阵。

import numpy as np

arr = np.array([[1,2,3],[4,5,6]]) 
sns.heatmap(arr)

在这里插入图片描述

5.2 clustermap

clustermap(data, *[, pivot_kws, method, …])将矩阵数据集绘制为分层聚集的热图。

sns.clustermap(arr)

在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值