数据集地址:
seaborn - https://github.com/mwaskom/seaborn-data
该类型直接连接数据集后绘图,简洁快速。按照功能分为以下五类
· 关系类
· 分类类
· 分布类
· 回归类
· 热图类
功能 | 函数 |
---|---|
关系图总接口 | .relplot() |
散点图 | .scatterplot() |
线型图 | .lineplot() |
多元维度数据最常用的为散点图,如数据 seaborn/tips
scatterplot(x=None, y=None, hue=None, style=None, size=None, data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=True, style_order=None, x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000, alpha='auto', x_jitter=None, y_jitter=None, legend='brief', ax=None, **kwargs)
主要参数:
x,y
- 需要绘制的数据
data
– 引用的数据集
hue
- 产生不同颜色的点来分组
sytle
-产生不同形状的点来分组
ci
- 空值误差允许百分比
n_boot
- 计算置信区间需要的迭代次数
x_jitter,y_jitter
- 点的抖动程度
case1:
import seaborn as sns
tips = sns.load_dataset("tips")
#设置tips为数据集,total_bill为横轴,tip为纵轴
#根据day变色,根据time变样式,根据size变尺寸
ax = sns.scatterplot(x="total_bill", y="tip", data=tips,hue='day',style='time',size='size')
import seaborn as sns
tips = sns.load_dataset("tips")
#设置点颜色
cmap = sns.cubehelix_palette(dark=.3,light=.8,as_cmap=True)
#设置点最大最小值,并在图例中显示
ax = sns.scatterplot(x='total_bill',y='tip',hue='size',size='size', sizes=(20,200),legend='full',palette=cmap,data=tips)
带宽类数据,每个x值处汇总多个y值,可用线型图绘制,如seaborn/fmri
lineplot(x=None, y=None, hue=None, size=None, style=None, data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, dashes=True, markers=None, style_order=None, units=None, estimator='mean', ci=95, n_boot=1000, seed=None, sort=True, err_style='band', err_kws=None, legend='brief', ax=None, **kwargs)
主要参数:
x,y
- 需要绘制的数据
data
– 引用的数据集
hue
- 产生不同颜色的点来分组
sytle
-产生不同形状的点来分组
case:
import seaborn as sns;
fmri = sns.load_dataset("fmri")
sns.lineplot(x="timepoint", y="signal", data=fmri,hue='event')
scatter和line的上级入口,可同时绘多个图形
lplot(x=None, y=None, hue=None, size=None, style=None, data=None, row=None, col=None, col_wrap=None, row_order=None, col_order=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=None, dashes=None, style_order=None, legend='brief', kind='scatter', height=5, aspect=1, facet_kws=None, **kwargs)
主要参数:
kind
: scatter则转为散点图,line则转为线型图
col
:根据col数量决定图片纵列数量
row
:根据row数量决定图片纵列数量
case:
import seaborn as sns
tips = sns.load_dataset("tips")
#按照time和sex生成2X2张图,横轴为total_bill,纵轴为tip,按day赋色
sns.relplot(x="total_bill", y="tip", hue="day",col="time", row="sex", data=tips)
功能 | 函数 |
---|---|
分类图总接口 | .catplot() |
散点图 | .stripplot() / .swarmplot() |
分布图 | .boxplot() / .violinplot() / .boxenplot() |
估计图 | .pointplot() / .barplot() / .countplot() |
需要把数据的横轴设置成照单个属性区分成有限个等级,可用分类散点函数
stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, jitter=True, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)
主要参数:
data
– 引用的数据集
x,y
- 需要绘制的数据
jitter
- 数据的横向抖动量
dodge
- 如设置了hue,可以设置dodge=True来使各色带相互叠加
案例合集:
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
plt.figure(figsize=(20,10))
#单维度
plt.subplot2grid((3,2),(0,0))
sns.stripplot(x="total_bill",data=tips)
#多维度
plt.subplot2grid((3,2),(0,1))
sns.stripplot(x="day", y="total_bill", data=tips)
#调整运动宽度
plt.subplot2grid((3,2),(1,0))
sns.stripplot(x="day", y="total_bill", data=tips,jitter=0.05)
#改变方向
plt.subplot2grid((3,2),(1,1))
sns.stripplot(y="day", x="total_bill", data=tips,jitter=0.05)
#虚化
plt.subplot2grid((3,2),(2,0))
sns.stripplot("day", "total_bill", "smoker", data=tips,palette="Set2", size=20, marker="D",edgecolor="gray", alpha=.25)
#重叠绘图
plt.subplot2grid((3,2),(2,1))
sns.boxplot(x="tip", y="day", data=tips, whis=np.inf)
sns.stripplot(x="tip", y="day", data=tips,jitter=True, color=".3")
需求绘制散点图时各点不重叠,可用此函数
swarmplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)
主要参数:同stripplot()
case:
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
plt.figure(figsize=(25,10))
#stripplot
plt.subplot2grid((1,2),(0,0))
sns.stripplot(x="day", y="total_bill", data=tips)
#swarmplot
plt.subplot2grid((1,2),(0,1))
sns.swarmplot(x="day", y="total_bill", data=tips)
boxplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True, fliersize=5, linewidth=None, whis=1.5, ax=None, **kwargs)
主要参数:
data
– 引用的数据集
x,y
- 需要绘制的数据
saturation
- 饱和度比例
fliersize
-异常值的标识大小
palette
- 颜色序列图谱
notch
- 矩形是否凹陷
whis
- 控制在超过高低四分位数时 IQR 的比例
case:
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset('tips')
plt.figure(figsize=(20,20))
#单个示例
plt.subplot2grid((2,2),(0,0))
sns.boxplot(y="total_bill", data=tips)
#多个箱形图示例
plt.subplot2grid((2,2),(0,1))
sns.boxplot(x="day", y="total_bill", data=tips)
#变形箱形图示例
plt.subplot2grid((2,2),(1,0))
sns.boxplot(x="day", y="total_bill", data=tips,notch =True)
#多变量箱形图
plt.subplot2grid((2,2),(1,1))
sns.boxplot(x="day", y="total_bill", hue="smoker",data=tips,palette="Set3")
功能 | 函数 |
---|---|
直方图 | .distplot() |
联合分布图 | .jointplot() |
变量关系组图 | .pairplot() |
核密度图 | .kdeplot() |
分类图总接口 | .catplot() |
独立变量/单变量可用
distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False, norm_hist=False, axlabel=None, label=None, ax=None)
主要参数:
a
– 引用的数据
bins
- 图中柱的数量
hist
-是否绘制标准直方图
kde
-是否绘制高斯核密度估计图
rug
- 是否在横轴上绘制观测值竖线
vertical
- True则在Y轴绘制
norm_hist
- 绘制普通直方图默认false。True则直方图的高度显示密度而不是计数。如果绘制 KDE 图或拟合密度,则默认为 True
case:
import seaborn as sns
import numpy as np
import scipy.stats as sts
ex_x=np.random.normal(0,1,200)
plt.figure(figsize=(20,20))
plt.subplot2grid((2,2),(0,0))
#直方图
sns.distplot(ex_x,axlabel='x variable')
#增加核密度图
plt.subplot2grid((2,2),(0,1))
sns.distplot(ex_x,rug='True',hist='False')
#使用直方图和最大似然高斯分布拟合绘制分布图
plt.subplot2grid((2,2),(1,0))
sns.distplot(ex_x,fit=sts.norm,kde='False')
#横置
plt.subplot2grid((2,2),(1,1))
sns.distplot(ex_x,vertical='True',color='y')
单变量或双变量可用核密度估计图
kdeplot(data, data2=None, shade=False, vertical=False, kernel='gau', bw='scott', gridsize=100, cut=3, clip=None, legend=True, cumulative=False, shade_lowest=True, cbar=False, cbar_ax=None, cbar_kws=None, ax=None, **kwargs)
主要参数:
data
- 一维输入
data2
- 一维输入,存在则变双变量kde
shade
-在KDE下方的区域中增加阴影,或者在数据为双变量时使用填充的轮廓绘制
vertical
- True则在Y轴绘制
kernel
:核的形状,可选:'gau’ | ‘cos’ | ‘biw’ | ‘epa’ | ‘tri’ | ‘triw’ };双变量 kde只能使用高斯核
cmap
:颜色图谱
bw
:每个维的核大小,可选 ‘scott’ | ‘silverman’ | scalar | pair of scalars
cut
:绘制估计值以从极端数据点切割* bw
cumulative
:如果为 True,则绘制 kde 估计图的累积分布
shade_lowest
:设置为False可在同一轴上绘制多个密度
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
sns.set(color_codes=True)
plt.figure(figsize=(30,30))
x=np.random.normal(0,1,500)
y1=np.random.normal(12,4,500)
y2=np.random.normal(-15,2.25,500)
#单变量
plt.subplot2grid((3,3),(0,0))
sns.kdeplot(x)
#双变量
plt.subplot2grid((3,3),(0,1))
sns.kdeplot(x,y1)
#双变量重叠
plt.subplot2grid((3,3),(0,2))
sns.kdeplot(x,y1,shade=True,cmap='Reds',shade_lowerst=False)
sns.kdeplot(x,y2,shade=True,cmap='Blues',shade_lowerst=False)
#kernel list
kernel_list=['gau','cos','biw','epa','tri','triw']
for i in range (2):
for j in range(3):
plt.subplot2grid((3,3),(i+1,j))
sns.kdeplot(x,kernel=kernel_list[3*i+j])
jointplot(x, y, data=None, kind='scatter', stat_func=None, color=None, height=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None, joint_kws=None, marginal_kws=None, annot_kws=None, **kwargs)
主要参数:
x,y
- 输入
data
- 数据集
kind
- 图像类型, scatter | reg | resid | kde | hex
ratio,space
- 中心轴的高度与侧边轴高度的比例,中心和侧边轴的间隔大小
xlim, ylim
- 轴的范围
case1:联合分布
import seaborn as sns
import matplotlib.pyplot as plt
iris=sns.load_dataset("iris")
sns.jointplot('sepal_length','sepal_width',data=iris,kind='kde')
import seaborn as sns
import matplotlib.pyplot as plt
iris=sns.load_dataset("iris")
sns.jointplot('sepal_length','sepal_width',data=iris,kind='kde',ratio=10,color='g')
case3:联合分布图中添加中心密度估计
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
#
sns.jointplot('total_bill','tip',data=tips,kind='reg',color='g').plot_joint(sns.kdeplot(tips["total_bill"],tips["tip"]))
数据集中各数据列的成对关系。如有N列数据,则生成N*N张图。
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
– 引用的数据集
hue
- 产生不同颜色的点来分组
palette
- hue变量的颜色集
vars
- 要使用的变量(如指定M列数据,则生成M*M张图)
x_vars,y_vars
- 指定横纵轴内容(非方形图)
kind
- 各关系图的类型 。{‘scatter’, ‘reg’}可选。
diag_kind
-对角线图的类型。{‘auto’, ‘hist’, ‘kde’} 可选
markers
- 各关系图中点的类型
case :选择iris部分数据绘制关系图
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="ticks", color_codes=True)
iris = sns.load_dataset("iris")
sns.pairplot(iris,vars=['sepal_length','sepal_width'])
sns.pairplot(iris,x_vars=['sepal_length','sepal_width'], y_vars=['petal_length','petal_width'],kind='reg',hue="species", palette="husl",markers=["o", "s","D"])
violinplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, bw='scott', cut=2, scale='area', scale_hue=True, gridsize=100, width=0.8, inner='box', split=False, dodge=True, orient=None, linewidth=None, color=None, palette=None, saturation=0.75, ax=None, **kwargs)
主要参数:
x, y, hue
- 变量及分类方法
data
- 数据集
bw
- 核密度带宽
order, hue_order
- 分类变量的绘制顺序
scale
- 缩放每张小提琴图的宽度。“area”-每张图具有相同的面积, “count”-根据分箱中观察点数量进行缩放, “width”-每张图具有相同的宽度
scale_hue
- 缩放仅限于scale_hue = True范围
inner
- “box”-微型箱型图, “quartile”-显示四分位数线, “point”, “stick”-显示具体数据点/线,“None”-绘制不加修饰的小提琴图
split
- 配合hue,每种颜色绘制对应半边小提琴,合到一张图里
dodge
- 使用色调嵌套时,元素是否应沿分类轴移动
orient
- “v”/“h”,绘图的方向
linewidth,color,paltte
- 线宽,颜色,色谱
saturation
- 绘制颜色的原始饱和度的比例
case:
import seaborn as sns
tips=sns.load_dataset('tips')
#case1 - base状态
#sns.violinplot(x="day", y="total_bill", data=tips)
#case2 - 分类变量
#sns.violinplot(x="day", y="total_bill",hue="smoker", data=tips)
#case3 - 分类变量集中到一张图里
#sns.violinplot(x="day", y="total_bill",hue="smoker", data=tips,split=True)
#case4 - 按顺序排列
#sns.violinplot(x="day", y="total_bill",hue="smoker", #data=tips,split=True,order=["Sun", "Sat","Fri","Thur"],palette="Set2")
#case5 - 绘制数据线
#sns.violinplot(x="day", y="total_bill",hue="sex", data=tips,split=True,scale="count",inner="stick")
#case6 - 修改带宽
#sns.violinplot(x="day", y="total_bill",hue="sex", data=tips,split=True,scale="count",inner="stick",bw=.2)
功能 | 函数 |
---|---|
回归图 | .lmplot() |
线性回归图 | .regplot() |
回归残差图 | .residplot() |
线性回归拟合.
regplot(x, y, data=None, 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, dropna=True, x_jitter=None, y_jitter=None, label=None, color=None, marker='o', scatter_kws=None, line_kws=None, ax=None)
主要参数:
x,y
- 输入
data
- 数据集
x_estimator
- 当x是离散变量时,绘制其各值的置信区间
x_bins
- 将连续变量x划分为离散区间,然后估计中心趋势和置信区间
ci
-置信区间的值
n_boot
- 回归采样数
order
- 多项式回归时设置order值(order=2则为二项式回归)
robust
- 设置为稳健回归
logx
- 设置为对数回归
x_jitter,y_jitter
- 离散变量分布图的抖动
case:
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
tips=sns.load_dataset("tips")
plt.figure(figsize=(30,30))
#基本回归图
plt.subplot2grid((4,2),(0,0))
sns.regplot(x='total_bill',y='tip',data=tips)
#调整参数
plt.subplot2grid((4,2),(0,1))
sns.regplot(x='total_bill',y='tip',data=tips,color='g',marker='+',ci=68)
#对每个size(离散)做置信区间分析
plt.subplot2grid((4,2),(1,0))
sns.regplot(x='size',y='total_bill',data=tips,x_estimator=np.mean)
#抖一抖
plt.subplot2grid((4,2),(1,1))
ax = sns.regplot(x="size", y="total_bill", data=tips, x_jitter=.1)
#对total_bill(连续)划分有限个区间
plt.subplot2grid((4,2),(2,0))
sns.regplot(x='total_bill',y='tip',data=tips,x_bins=8,color='r')
#对数回归
plt.subplot2grid((4,2),(2,1))
sns.regplot(x="size", y="total_bill", data=tips,x_estimator=np.mean, logx=True, truncate=True)
#构建一个二次函数,增加噪声,然后绘制回归图
plt.subplot2grid((4,2),(3,0))
x_5=np.arange(0,5,0.1)
y_5=x_5*x_5+2*x_5+1
tolerance= (np.random.rand(len(x_5)))*2-1
sns.regplot(x=x_5,y=y_5+tolerance,data=tips,order=2)
#稳健回归 (只能order=1)
plt.subplot2grid((4,2),(3,1))
y_6=3*x_5+1
x_6=np.append(x_5,2.05)
y_6=np.append(y_6,14)
tolerance= (np.random.rand(len(x_6)))*2-1
sns.regplot(x=x_6,y=y_6+tolerance,data=tips,robust=True)
绘图高级入口
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)
主要参数:
col,row
- 按照指定的数据项排列主图
case1:
import seaborn as sns
tips=sns.load_dataset('tips')
sns.lmplot(x="total_bill",y="tip",hue='smoker',data=tips,markers=["o","x"],palette="Set1")
import seaborn as sns
tips=sns.load_dataset('tips')
#对每一个smoker值建立一张图,排成一行
sns.lmplot(x="total_bill", y="tip",row="sex",col="time", data=tips)
功能 | 函数 |
---|---|
热图 | .heatmap() |
分层聚类图 | .cluster2ap() |
将矩形数据绘制为颜色编码矩阵
heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt='.2g', annot_kws=None, linewidths=0, linecolor='white', cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels='auto', yticklabels='auto', mask=None, ax=None, **kwargs)
主要参数:
data
- 矩阵数据
vmin,vmax
- 色彩范围
cmap
- 颜色图谱
center
- 中心点的色彩值
robust
- 设置为True且vmin/vmax=none时,采用稳健绘图,而非极值
annot
- 设置为True时会在每个单元格内写入键值
fmt
- 字符串格式代码
linewidhts,linecolor
- 划分每个单元格的宽度/线条颜色
cbar
- 是否绘制颜色条
mask
- 布尔数组。遮蔽mask=True的单元格
case:
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(30,30))
mydata=np.random.rand(10,10)
#基本热图
plt.subplot2grid((4,2),(0,0))
sns.heatmap(mydata)
#稳健
plt.subplot2grid((4,2),(0,1))
sns.heatmap(mydata,robust=True)
#设置热度范围
plt.subplot2grid((4,2),(1,0))
sns.heatmap(mydata,vmin=0.2,vmax=0.8)
#设置中心格色度为0
plt.subplot2grid((4,2),(1,1))
sns.heatmap(mydata,center=0)
#在每格里增加值
plt.subplot2grid((4,2),(2,0))
sns.heatmap(mydata,annot=True)
#设置线属性
plt.subplot2grid((4,2),(2,1))
sns.heatmap(mydata,linewidth='1',linecolor='Black')
#调整风格
plt.subplot2grid((4,2),(3,0))
sns.heatmap(mydata,cmap='YlGnBu')
#遮蔽
plt.subplot2grid((4,2),(3,1))
mask = np.zeros_like(mydata)
mask[np.triu_indices_from(mask)] = True
with sns.axes_style("white"):
sns.heatmap(mydata, mask=mask, vmax=.3, square=True)
将矩阵数据集绘制成分层聚类热图
clustermap(data, pivot_kws=None, method='average', metric='euclidean', z_score=None, standard_scale=None, figsize=None, cbar_kws=None, row_cluster=True, col_cluster=True, row_linkage=None, col_linkage=None, row_colors=None, col_colors=None, mask=None, **kwargs)
主要参数:
data
- 矩阵数据输入
method
- 计算聚类的方法,{’single’,’complete’,’average’,’weighted’,’centroid’,’median’,’ward’}可选
metric
- 距离度量的方法,{‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘cityblock’, ‘correlation’, ‘cosine’, ‘dice’, ‘euclidean’, ‘hamming’, ‘jaccard’, ‘jensenshannon’, ‘kulsinski’, ‘mahalanobis’, ‘matching’, ‘minkowski’, ‘rogerstanimoto’, ‘russellrao’, ‘seuclidean’, ‘sokalmichener’, ‘sokalsneath’, ‘sqeuclidean’, ‘yule’}
z_score
- 是否计算z分数。 0 - 行, 1 - 列
standard_scale
- 是否标准化该维度。0 - 行, 1 - 列
row_cluster,col_cluster
- True时为row/col聚类
row_linkage,col_linkage
- 预计算链接矩阵
row_color,col_color
- 设置颜色
mask
- 布尔数组。遮蔽mask=True的单元格
case1:
import seaborn as sns
import matplotlib.pyplot as plt
iris = sns.load_dataset("iris")
species = iris.pop("species")
sns.clustermap(iris, cmap="mako", robust=True)
输出结果:
import seaborn as sns
import matplotlib.pyplot as plt
iris = sns.load_dataset("iris")
species = iris.pop("species")
#正规化数据
sns.clustermap(iris, z_score=0)
该类型工作方式是是使用数据集和用于构造网格的变量初始化 XXXGrid 对象,建立绘图网格;然后通过调用map()或者map_dataframe(),调用1.1中的部分基础绘图函数应用于每个子集;最后可以使用其他方法调整绘图。
FacetGrid(data, row=None, col=None, hue=None, col_wrap=None, sharex=True, sharey=True, height=3, aspect=1, palette=None, row_order=None, col_order=None, hue_order=None, hue_kws=None, dropna=True, legend_out=True, despine=True, margin_titles=False, xlim=None, ylim=None, subplot_kws=None, gridspec_kws=None, size=None)
data
- 数据
row, col, hue
- 分类类别
col_wrap
- 网格列的维度
height, aspect
- 高度,纵横比
row_oder, col_order, hue_order
- 排序
map(self, func, *args, **kwargs)
map_dataframe(self, func, *args, **kwargs)
func
- 指定绘图函数
args
- 绘图参数
case 1:
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
bins = np.arange(0, 65, 5)
tips=sns.load_dataset("tips")
sns.FacetGrid(tips,col="time",row="smoker").map(plt.hist, "total_bill")
sns.FacetGrid(tips,col="time",row="smoker").map(plt.scatter, "total_bill","tip",edgecolor="g")
case3:
sns.FacetGrid(tips,col="time",hue="smoker",height=4,aspect=0.8,col_order=["Lunch","Dinner"],hue_kws=dict(marker=["^", "v"])).map(plt.scatter, "total_bill","tip",edgecolor="g")
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=True, plot_kws=None, diag_kws=None, grid_kws=None, size=None)
data
- 数据
hue
- 数据分类
vars
- 选定展示的数据
x_vars,y_ars
- 横纵轴
kind
- scatter / reg
diag_kind
- ‘auto’, ‘hist’, ‘kde’, None
map(self, func, **kwargs)
func
- 绘制函数
map_diag(self, func, **kwargs)
func
- 绘制函数
map_offdiag(self, func, **kwargs)
func
- 绘制函数