seaborn系列 (17) | 回归模型图lmplot()

mac2022-06-30  22

目录

回归模型图函数原型参数解读案例教程案例地址

回归模型图

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

函数原型

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)

参数解读

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 : 列表 表示刻面变量级别的顺序

案例教程

案例代码已上传:Github地址

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()

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()

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()

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()

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()

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()

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()

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()

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地址 Github地址https://github.com/Vambooo/SeabornCN

更多技术干货在公众号:数据分析与可视化学研社

最新回复(0)