import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
penguins = pd.read_csv('../Data/penguins.csv')
Seaborn:pairplot¶
seaborn.pairplot — seaborn 0.13.2 documentation
sns.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, corner=False, dropna=False, plot_kws=None, diag_kws=None, grid_kws=None)
在数据集中绘制成对关系。默认情况下,此函数将创建一个Axes的网格,使得data中每个数值型变量在单个行中共享 y 轴,在单个列中共享 x 轴。对角线图处理方式不同:绘制一个单变量分布图以显示每列数据的边缘分布。还可以显示变量的子集或在不同行和列上绘制不同的变量。这是一个用于绘制一些常见样式的PairGrid的高级接口。如果需要更多灵活性,应直接使用PairGrid。返回对象是底层PairGrid ,可用于进一步自定义图表。
-
**data:**整洁(长格式)数据框,其中每列是一个变量,每行是一个观测值。
-
**vars:**在
data中要使用的变量,否则使用具有数值数据类型的每一列。优先于x_vars、y_vars参数。 -
**x_vars,y_vars:**图形的行和列分别要使用的
data中的变量,即可制作非正方形图表。 -
**kind:**决定对角子图和非对角子图绘图类型。可选
'scatter'(默认),'kde','hist','reg'。 -
**diag_kind:**对角子图类型,可选
'auto'(默认),'hist','kde',None。如果为'auto',则根据是否使用hue来选择。 -
**markers:**要用于所有散点图点的标记,或者是一个与
hue变量级别数量相同的标记列表,以便不同颜色的点也有不同的散点图标记。 -
**corner:**如果为
True,则不在网格的上部三角形角落(非对角线)中添加Axes。 -
**dropna:**在绘图前从数据中删除缺失值。
-
plot_kws,diag_kws,grid_kws:
plot_kws传递给双变量绘图函数,diag_kws传递给单变量绘图函数,grid_kws传递给PairGrid构造函数。
pg = sns.pairplot(data=penguins,
vars=['culmen_length_mm', 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g'],
x_vars=None,
y_vars=None,
hue='sex',
hue_order=['FEMALE', 'MALE'],
palette={"FEMALE": "#facc87", "MALE": "#b1fa87"},
markers=['o', '*'],
kind='scatter',
plot_kws={'s': 100},
diag_kind='hist',
diag_kws={'kde': True},
height=2,
aspect=1.5,
corner=True,
dropna=True,
grid_kws={'despine': True, 'layout_pad': 3}
)
pg.map_lower(sns.kdeplot)
"""
<seaborn.axisgrid.PairGrid at 0x1f136e47140>
"""
Seaborn:PairGrid¶
seaborn.PairGrid — seaborn 0.13.2 documentation
sns.PairGrid(data, *, hue=None, vars=None, x_vars=None, y_vars=None, hue_order=None, palette=None, hue_kws=None, corner=False, height=2.5, aspect=1, layout_pad=0.5, despine=True, dropna=False)
数据集的成对关系图网格。此对象将数据集中的每个变量映射到网格中的列和行。可以使用不同的轴级绘图函数在上三角和下三角中绘制双变量图,并在对角线上显示每个变量的边缘分布。使用pairplot()可以在一行中生成几个不同的常见图。当需要更多灵活性时使用PairGrid 。
-
hue_kws:其他关键字参数可以插入到绘图调用中,以使其他绘图属性在色调变量的各个级别上变化(例如散点图中的标记)。
-
layout_pad:子图之间的间隔;传递给
fig.tight_layout。
pg = sns.PairGrid(data=penguins,
vars=['culmen_length_mm', 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g'],
x_vars=None,
y_vars=None,
hue='sex',
hue_order=['FEMALE', 'MALE'],
palette={"FEMALE": "#facc87", "MALE": "#b1fa87"},
hue_kws=None,
height=2,
aspect=1.5,
corner=False,
dropna=True,
despine=True,
layout_pad=3
)
# pg.map(sns.scatterplot)
# pg.map_offdiag(sns.scatterplot)
pg.map_diag(sns.histplot, kde=True)
pg.map_lower(sns.scatterplot, s=100)
pg.map_upper(sns.kdeplot)
pg.add_legend()
"""
<seaborn.axisgrid.PairGrid at 0x1f132fa5880>
"""


