前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据可视化(17)-Seaborn系列 | 回归模型图lmplot()

数据可视化(17)-Seaborn系列 | 回归模型图lmplot()

原创
作者头像
数据分析可视化
修改2019-10-08 11:15:31
1.5K0
修改2019-10-08 11:15:31
举报

回归模型图

回归模型图可以对数据进行回归显示。

函数原型

代码语言:txt
复制
seaborn.lmplot(x, y, data, hue=None,
               col=None, row=None, palette=None,
               col_wrap=None, height=5, aspect=1,
               markers='o', sharex=True, sharey=True, 
               hue_order=None, col_order=None, row_order=None, 
               legend=True, legend_out=True, x_estimator=None,
               x_bins=None, x_ci='ci', scatter=True, fit_reg=True,
               ci=95, n_boot=1000, units=None, order=1, 
               logistic=False, lowess=False, robust=False,
               logx=False, x_partial=None, y_partial=None, 
               truncate=False, x_jitter=None, y_jitter=None, 
               scatter_kws=None, line_kws=None, size=None)

参数解读

表1
表1
代码语言:txt
复制
x,y:数据字段变量名(如上表,date,name,age,sex为数据字段变量名)
作用:根据实际数据,x,y常用来指定x,y轴的分类名称

data: DataFrame,数组或数组列表
    
hue,row:字符串(数据字段变量名)
作用:hue对数据进行第二次分组(通过颜色区分)

col:字符串(数据字段变量名)
作用:通过设置col指定变量名,以该变量名的内容进行分类,
每一个类别下的数据绘制一个图
(即该变量名下有多少类值就绘制多少个图,并且排列在一行上)

palette:调色板名称,list类别或者字典
作用:用于对数据不同分类进行颜色区别

col_wrap:int
作用:将多列跨行显示

height:标量
作用:指定图的大小

aspect:标量
作用:指定每一面的宽高比

markers:标记

share{x,y} : bool, "col", or "row"
如果为true,facets将跨列共享y轴和/或跨行共享x轴。

{hue,col,row}_order : 列表
表示刻面变量级别的顺序

案例教程

代码语言:txt
复制
import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(color_codes=True)
# 构建数据
tips = sns.load_dataset("tips")
"""
案例1:
绘制两变量之间的简单线性关系
"""
sns.lmplot(x="total_bill", y="tip", data=tips)
plt.show()
代码语言:txt
复制
import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(color_codes=True)
# 构建数据
tips = sns.load_dataset("tips")
"""
案例2:
通过设置hue对数据进行第二次分组(通过对颜色进行区分)
"""
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips)
plt.show()
代码语言:txt
复制
import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(color_codes=True)
# 构建数据
tips = sns.load_dataset("tips")
"""
案例3:
通过设置markers对数据点进行不同的标记
"""
sns.lmplot(x="total_bill", y="tip", hue="smoker",
            data=tips,markers=["o", "x"])
plt.show()
代码语言:txt
复制
import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(color_codes=True)
# 构建数据
tips = sns.load_dataset("tips")
"""
案例4:
通过设置palette,显示不同的颜色
"""
sns.lmplot(x="total_bill", y="tip", hue="smoker",
            data=tips,palette="Set1")
plt.show()
代码语言:txt
复制
import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(color_codes=True)
# 构建数据
tips = sns.load_dataset("tips")
"""
案例5:
通过设置palette=dict显示不同的颜色
"""
sns.lmplot(x="total_bill", y="tip", hue="smoker",
            data=tips,palette=dict(Yes="g", No="m"))
plt.show()
代码语言:txt
复制
import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(color_codes=True)
# 构建数据
tips = sns.load_dataset("tips")
"""
案例6:
通过设置col指定变量名,以该变量名的内容进行分类,
每一个类别下的数据绘制一个图(即该变量名下有多少类值就绘制多少个图,并且排列在一行上)
"""
sns.lmplot(x="total_bill", y="tip", 
           col="smoker", data=tips)
plt.show()
代码语言:txt
复制
import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(color_codes=True)
# 构建数据
tips = sns.load_dataset("tips")
"""
案例7:
通过设置col,将不同的分组分别绘制(列数为类别数)
"""
sns.lmplot(x="size", y="total_bill", 
           hue="day", col="day",
           data=tips, height=6, 
           aspect=.4, x_jitter=.1)
plt.show()
代码语言:txt
复制
import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(color_codes=True)
# 构建数据
tips = sns.load_dataset("tips")
"""
案例8:
通过设置col_wrap,将多列换成多行(多列不美观)
"""
sns.lmplot(x="total_bill", y="tip", 
           col="day", hue="day",
           data=tips, col_wrap=2, height=3)
plt.show()
代码语言:txt
复制
import seaborn as sns
import matplotlib.pyplot as plt
# 设置样式风格
sns.set(color_codes=True)
# 构建数据
tips = sns.load_dataset("tips")
"""
案例9:
两个变量形成的图
"""
sns.lmplot(x="total_bill", y="tip", 
           row="sex", col="time",
           data=tips, height=3)
plt.show()

案例地址

案例代码已上传:Github https://github.com/Vambooo/SeabornCN

整理制作:数据分析与可视化学研社

更多分享,请关注公众号
更多分享,请关注公众号

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 回归模型图
  • 函数原型
  • 参数解读
  • 案例教程
  • 案例地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档