栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

seaborn可视化教程

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

seaborn可视化教程

【参考b站视频:一小时带你掌握seaborn可视化教程
跟着视频学习了一下,并记录下来分享给大家~
我是在 pycharm 环境中运行的,用 jupyter notebook会更方便一点哦~】

需要导入的库函数:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

*************************************** 多 图 预 警 ***************************************

  1. 使用 seaborn 画图时需要调用哪些语句,可以参考下边的这幅图:
    (具体怎么用,通过后边的代码就能看出来,不急~~)
  2. 作图前先对数据集进行说明:
### 实验中我们使用seaborn自带的数据集
print(sns.get_dataset_names()) #查看seaborn有哪些自带的数据集
######## seaborn主要分析处理的就是dataframe数据类型 #########

# 加载第一个测试数据集
penguin_df=sns.load_dataset("penguins") #加载数据报错时,参考 https://zhuanlan.zhihu.com/p/452775423
# print(penguin_df)

# 加载第二个测试数据集
tip_df=sns.load_dataset("tips")
# print(tip_df)
################# 画箱型图,查看数据的取值范围,是否存在异常值 ################
## 数据集中其实是存在缺失值的,但是下边的画图并没有报错,可见seaborn会自动识别空值
sns.boxplot(data=penguin_df,x="bill_length_mm") # 传入的df数据;在x轴上绘制bill_length_mm列数据的分布情况
#sns.boxplot(data=penguin_df,y="bill_length_mm")  #在y轴上绘制
#sns.boxplot(data=penguin_df) #不指定画哪列的话,就是每列数据的箱型都在一张图上了
plt.show()  #想在pycharm中让seaborn弹出图,需要加上这句话(后续不再强调,大家别忘了加就行)

# 根据最开始给出的那个框架图,boxplot属于catplot大类,所以我们也可以用catplot来画图
sns.catplot(data=penguin_df,x="bill_length_mm",kind="box") #这里要用kind参数来指定画箱型图

##################### 查看变量的分布 ########################
sns.displot(data=penguin_df,x='bill_length_mm') # displot默认是绘制直方图

sns.histplot(data=penguin_df,x='bill_length_mm') #用histplot这个专门画直方图的试一下

sns.displot(data=penguin_df,x='bill_length_mm',bins=50) #调整每个统计区间的大小

sns.displot(data=penguin_df,x="species") #类别变量这列也可以画直方图

###### hue是一个很重要的参数,它可以自动对类别进行解析,加上它画出来的图也很高级
sns.displot(data=penguin_df,x="species",hue="species",shrink=0.7) #shrink来缩小间距

sns.countplot(data=penguin_df,x='species') #根据那个框架图,可以看到countplot是专门针对类别统计的

sns.displot(data=penguin_df,x='bill_length_mm',kde=True) #默认画的直方图,并叠加上kde曲线

sns.displot(data=penguin_df,x='bill_length_mm',kind="kde",hue="species") #kind指定我就是要画kde曲线,用强大的来hue解析类别

sns.displot(data=penguin_df,x='bill_length_mm',kind="kde",hue="species",cut=0)#kde曲线是拟合的,所以存在超出范围的值,用cut参数即可去除不展示

sns.displot(data=penguin_df,x='bill_length_mm',kind="kde",hue="species",cut=0,linewidth=5,color='r') #还可以设置线宽、颜色

########## 利用FaceGrid特性来形成多个子图(根据某两列属性的组合构成多图)########
sns.displot(data=penguin_df,x='bill_length_mm',row='sex',col='island',kind='kde')

sns.displot(data=penguin_df,x='bill_length_mm',row='sex',col='island',hue='species',kind='kde')  # hue它又来喽~~

#################### 数值变量的关系分析 #######################
sns.relplot(data=tip_df,x='total_bill',y='tip') #绘制散点图

sns.relplot(data=tip_df,x='total_bill',y='tip',hue='time',style='time',markers=['o','^']) #后边可以加一些参数,区分不同的类别

sns.relplot(data=tip_df,x='total_bill',y='tip',hue='size',size='size') #还可以设置点的大小变化

sns.relplot(data=tip_df,x='total_bill',y='tip',col='day',col_wrap=2) #按“day”列划分多子图,放在一行太挤太丑了,用col_wrap设置一行两个

########################## 线性关系分析 #########################
##基于上边画的散点,我们就想着是否能找到一个线性回归的函数进行拟合
sns.lmplot(data=tip_df,x='total_bill',y='tip')

sns.regplot(data=tip_df,x='total_bill',y='tip') #专门画回归的函数

sns.lmplot(data=tip_df,x='total_bill',y='tip',row='smoker',col='time',hue="time") #画子集的多图


持续更新中……

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886613.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号