seaborn.pairplot(data, hue=None, hue_order=None,
palette=None, vars=None, x_vars=None,
y_vars=None, kind='scatter', diag_kind='auto',
markers=None, height=2.5, aspect=1,
dropna=True,plot_kws=None, diag_kws=None,
grid_kws=None, size=None)
data: DataFrame
hue:变量名称
作用:用颜色将数据进行第二次分组
hue_order:字符串列表
作用:指定调色板中颜色变量的顺序
palette:调色板
vars:变量名列表
{x,y}_vars:变量名列表
作用:指定数据中变量分别用于图的行和列,
kind:{"scatter","reg"}
作用:指定数据之间的关系eg. kind="reg":指定数据的线性回归
diag_kind:{"auto","hist","kde"}
作用:指定对角线处子图的类型,默认值取决与是否使用hue。参考案例9和案例11
markers:标记
height:标量
作用:指定图的大小(图都是正方形的,所以只要指定height就行)
{plot,diag,grid} _kws:dicts字典
作用:指定关键字参数的字典
import seaborn as sns
# 构建数据
iris = sns.load_dataset("iris")
"""
案例a:
如下,iris数据的字段变量为
[sepal_length,sepal_width,petal_length,petal_width,species]
值为数字的字段为[sepal_length,sepal_width,petal_length,petal_width]
"""
iris[:5]
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例1:
为联合关系绘制散点图,为单变量绘制直方图
字段变量名查看案例a,
由于值为数字的字段变量有4个,故绘制的关系图为4x4
"""
sns.pairplot(iris)
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例2:
为联合关系绘制散点图,为单变量绘制核密度估计图
字段变量名查看案例a,
由于值为数字的字段变量有4个,故绘制的关系图为4x4
通过指定hue来对数据进行分组(效果通过颜色体现)
"""
sns.pairplot(iris, hue="species")
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例3:
为联合关系绘制散点图,为单变量绘制核密度估计图
字段变量名查看案例a,
由于值为数字的字段变量有4个,故绘制的关系图为4x4
通过指定hue来对数据进行分组(效果通过颜色体现),
并指定调色板palette来设置不同颜色
"""
sns.pairplot(iris, hue="species", palette="husl")
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例4:
为联合关系绘制散点图,为单变量绘制核密度估计图
字段变量名查看案例a,
由于值为数字的字段变量有4个,故绘制的关系图为4x4
通过指定hue来对数据进行分组(效果通过颜色体现),
并指定markers来设置散点图中的点形
"""
sns.pairplot(iris, hue="species", markers=["o", "s", "D"])
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例6:
为联合关系绘制散点图,为单变量绘制直方图
字段变量名查看案例a,
通过指定vars=["sepal_width", "sepal_length"]显式展示指定变量名对应的数据
"""
sns.pairplot(iris,vars=["sepal_width", "sepal_length"])
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例7:
为联合关系绘制散点图,为点变量绘制核密度估计图
字段变量名查看案例a,
通过指定vars=["sepal_width", "sepal_length"]显式展示指定变量名对应的数据
设置height指定图的大小
"""
sns.pairplot(iris, height=3,
vars=["sepal_width", "sepal_length"])
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例8:
为联合关系绘制散点图,为单变量绘制直方图
字段变量名查看案例a,
通过指定x_vars,y_vars显式展示指定变量名对应的数据
"""
sns.pairplot(iris,
x_vars=["sepal_width", "sepal_length"],
y_vars=["petal_width", "petal_length"])
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例9:
为联合关系绘制散点图
通过设置diag_kind指定绘制图类型(kde核密度估计图)
字段变量名查看案例a,
"""
sns.pairplot(iris, diag_kind="kde")
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例10:
为联合关系绘制散点图,为单变量绘制直方图
通过设置kind=reg为散点图添加线性回归模型
字段变量名查看案例a,
"""
sns.pairplot(iris, kind="reg")
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
# 设置风格样式
sns.set(style="ticks", color_codes=True)
# 构建数据
iris = sns.load_dataset("iris")
"""
案例11:
为联合关系绘制散点图
通过设置diag_kind指定绘制图类型(kde核密度估计图)
设置markers来指定点形状为+
设置其他一些参数
字段变量名查看案例a,
"""
sns.pairplot(iris, diag_kind="kde", markers="+",
plot_kws=dict(s=50, edgecolor="b", linewidth=1),
diag_kws=dict(shade=True))
plt.show()
案例代码已上传:Github https://github.com/Vambooo/SeabornCN
整理制作:数据分析与可视化学研社
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。