python统计分析——用seaborn绘制回归直线(sns.lmplot)

2024-02-23 13:36

本文主要是介绍python统计分析——用seaborn绘制回归直线(sns.lmplot),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考资料:用python动手学统计学,帮助文档

1、导入库

# 导入库
# 用于数值计算的库
import numpy as np
import pandas as pd
import scipy as  sp
from scipy import stats
# 用于绘图的库
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
# 用于估计统计模型的库
import statsmodels.formula.api as smf
import statsmodels.api as sm

2、数据准备

data=pd.DataFrame({'beer':np.array([45.3, 59.3, 40.4, 38. , 37. , 40.9, 60.2, 63.3, 51.1, 44.9, 47. ,53.2, 43.5, 53.2, 37.4, 59.9, 41.5, 75.1, 55.6, 57.2, 46.5, 35.8,51.9, 38.2, 66. , 55.3, 55.3, 43.3, 70.5, 38.8]),'temp':np.array([20.5, 25. , 10. , 26.9, 15.8,  4.2, 13.5, 26. , 23.3,  8.5, 26.2,19.1, 24.3, 23.3,  8.4, 23.5, 13.9, 35.5, 27.2, 20.5, 10.2, 20.5,21.6,  7.9, 42.2, 23.9, 36.9,  8.9, 36.4,  6.4]),'hue':np.array(['A', 'B' , 'A', 'B' , 'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ,'A', 'B' ])
})
data.head()

3、绘制回归直线

sns.lmplot(x='temp',y='beer',data=data)

        上图同时展示了散点图和回归直线,阴影部分是回归直线的置信区间(默认95%的置信度)。下面对函数sns.lmplot()的常用参数进行讲解:

(1)data=None,为数据源,为dataframe格式

(2)x=None,y=None,分别为x轴坐标和y轴坐标,用数据源中的列名代表数据列。

(3)hue=None,代表不同的系列。当设置hue时,

代码如下:

sns.lmplot(x='temp',y='beer',data=data,hue='hue')

效果如下:

(4)col=None,row=None,两个参数类似,col表示分列显示,row表示分行显示。

当对col进行设置的代码和效果如下:

sns.lmplot(x='temp',y='beer',data=data,col='hue')

当对row进行设置的代码和效果如下:

sns.lmplot(x='temp',y='beer',data=data,row='hue')

(5)palette=None,调色板,当对hue进行设置时,用于设置不同系列的默认颜色。

(6)col_wrap=None,当设置了col参数后,用于设置显示的列数,与row参数不兼容。

注意观察下面col_wrap为1和2时的区别:

sns.lmplot(x='temp',y='beer',data=data,col='hue',col_wrap=1)

sns.lmplot(x='temp',y='beer',data=data,col='hue',col_wrap=2)

 

(7)height=5,用于设置最小单位图片的高度,单位inch(英寸)

(8)aspect=1,与height参数配合使用,用于设置最小单位图片的宽度。宽度=aspect * height

(9)markers='o',用于设置散点图的标记样式。默认为“圆点”样式。

(10)sharex=None, sharey=None,用于设置多个图片组合显示时是否共享x坐标轴,或y坐标轴

(11)hue_order=None, col_order=None, row_order=None,用于设置显示顺序。这里以hue_order为例进行说明(注意与hue参数处的展示图片对比观察)

sns.lmplot(x='temp',y='beer',data=data,hue='hue',hue_order=['B','A'])

(12)legend=True,当设置hue参数后,用于设置是否显示图例。当为False时的效果如下:

sns.lmplot(x='temp',y='beer',data=data,hue='hue',legend=False)

(13)x_estimator=None,x_bins=None, x_ci='ci',当x轴数据为离散型数据时使用。

(14)scatter=True,用于设置是否显示散点。当为False时效果如下:

sns.lmplot(x='temp',y='beer',data=data,scatter=False)

(15)fit_reg=True,用于拟合回归曲线。当为False时,则不显示回归曲线。效果如下:

sns.lmplot(x='temp',y='beer',data=data,fit_reg=False)

(16)ci=95,设置置信度,以显示回归曲线的置信区间。

(17)logistic=False,当设置为True时,表示逻辑回归。

这篇关于python统计分析——用seaborn绘制回归直线(sns.lmplot)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/738819

相关文章

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

Python海象运算符:=的具体实现

《Python海象运算符:=的具体实现》海象运算符又称​​赋值表达式,Python3.8后可用,其核心设计是在表达式内部完成变量赋值并返回该值,从而简化代码逻辑,下面就来详细的介绍一下如何使用,感兴趣... 目录简介​​条件判断优化循环控制简化​推导式高效计算​正则匹配与数据提取​性能对比简介海象运算符

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

python项目打包成docker容器镜像的两种方法实现

《python项目打包成docker容器镜像的两种方法实现》本文介绍两种将Python项目打包为Docker镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录简单版:(一次成功,后续下载对应的软件依赖)第一步:肯定是构建dockerfile,如下:第二步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里