行/列面板的本质就是指定具体的分组变量用于行/列拆分,除了lmplot等命令内置此功能之外,还可以使用专用的catplot()实现通用的行/列面板操作。
seaborn.catplot( # 0.9.0版之前为factorplot
x, y, hue : names of variables in data
data : DataFrame
面板相关设定:
row, col : 行/列面板对象名称
col_wrap : 在指定的宽度折叠列面板至下一行,从而成为多行显示
row_order, col_order : 行/列面板变量各类别的显示顺序
legend = True : bool, optional
legend_out = True : 将图例绘制在设定的图形区域外
share{x,y} : 是否共用行/列
kind : 可以绘制的图形种类
“point”, “bar”, “strip”, “swarm”, “box”, “violin”, or “boxen”
其余设定:
estimator : 希望在每个类别中计算的统计量
ci : float or “sd” or None, 希望绘制的可信区间宽度
n_boot : 计算CI时的bootstrap抽样次数
units : 用于确定抽样单元大小的变量
order, hue_order : lists of strings, optional
size : scalar, optional
aspect : scalar, optional
orient : “v” | “h”, optional
color : matplotlib color, optional
palette : palette name, list, or dict, optional
) 返回值:FacetGrid对象。
sns.catplot(x = 'time', y = 'index1', col = 's0', data = ccss,
kind = "box")
sns.catplot(x = 'time', y = 'index1', col = 's0', data = ccss,
kind = "boxen")
sns.catplot(x = 'time', y = 'index1', col = 's0', data = ccss,
kind = "violin")
sns.catplot(x = 'time', y = 'index1', col = 's0', hue = 's2',
data = ccss, kind = "bar")
sns.catplot(x = 's0', y = 'index1', col = 'time', hue = 's2',
data = ccss, kind="bar", col_wrap = 2, legend_out = False)