seaborn.catplot(*, x=None, y=None, hue=None, data=None, row=None, col=None, col_wrap=None, estimator=<function mean>, ci=95, n_boot=1000, units=None, seed=None, order=None, hue_order=None, row_order=None, col_order=None, kind='strip', height=5, aspect=1, orient=None, color=None, palette=None, legend=True, legend_out=True, sharex=True, sharey=True, margin_titles=False, facet_kws=None, **kwargs)¶图形级接口,用于在FacetGrid上绘制分类图。
用一个或多个数轴表示一个或多个数轴之间的直观关系。这个 kind 参数选择要使用的底层轴级别函数:
分类散点图:
stripplot() (与 kind="strip" ;默认值)
swarmplot() (与 kind="swarm" )
分类分布图:
boxplot() (与 kind="box" )
violinplot() (与 kind="violin" )
boxenplot() (与 kind="boxen" )
分类估算图:
pointplot() (与 kind="point" )
barplot() (与 kind="bar" )
countplot() (与 kind="count" )
额外的关键字参数被传递给基础函数,因此您应该参考每个关键字的文档,以查看特定于种类的选项。
请注意,与直接使用axes级别函数不同,数据必须以长格式的DataFrame传递,其中的变量是通过将字符串传递给 x , y , hue 等。
与基础绘图函数的情况一样,如果变量具有 categorical 数据类型、分类变量的级别以及它们的顺序将从对象中推断出来。否则,您可能必须使用alter数据帧排序或使用函数参数 (orient , order , hue_order 等)以正确设置绘图。
此函数始终将其中一个变量视为分类变量,并在顺序位置(0,1。。。n) 在相关轴上,即使数据具有数字或日期类型。
见 tutorial 更多信息。
在策划之后 FacetGrid 与绘图一起返回,可直接用于调整支持的绘图细节或添加其他图层。
data中变量的名称用于绘制长格式数据的输入。解释见示例。
用于打印的长格式(整洁)数据集。每列对应一个变量,每行对应一个观察值。
data 可选中变量的名称决定网格分面的分类变量。
以此宽度“包装”列变量,以便列面跨多行。与…不相容 row 方面。
在每个分类箱中估计的统计函数。
估计值周围的置信区间大小。如果为“sd”,则跳过自举并绘制观测值的标准偏差。如果 None ,不会执行引导,也不会绘制误差线。
计算置信区间时要使用的引导迭代次数。
data 或矢量数据,可选中变量的名称采样单元的标识符,用于执行多级引导和考虑重复测量设计。
种子或随机数发生器可复制的引导。
以绘制中的分类级别,否则级别是从数据对象推断出来的。
以组织中网格的行和/或列,否则将从数据对象推断顺序。
要绘制的绘图类型,对应于分类轴级绘图函数的名称。选项有:“strip”、“swarm”、“box”、“小提琴”、“boxen”、“point”、“bar”或“count”。
每个面的高度(英寸)。另请参见: aspect .
每个面的纵横比,以便 aspect * height 以英寸为单位给出每个面的宽度。
绘图的水平方向或垂直方向。这通常是根据输入变量的类型推断出来的,但当两者都存在时,它可以用来解决含糊不清的问题 x 和 y 是数字或打印宽格式数据时。
所有元素的颜色,或渐变调色板的种子。
用于不同级别的 hue 变量。应该是可以解释的东西 color_palette() ,或将色调级别映射到matplotlib颜色的字典。
如果 True 还有一个 hue 变量,在绘图上绘制图例。
如果 True ,图形大小将扩展,图例将绘制在右中的绘图外部。
如果为真,则行和面将在x轴和y轴之间共享。
如果 True ,行变量的标题绘制在最后一列的右侧。此选项是实验性的,可能不适用于所有情况。
要传递到的其他关键字参数的字典 FacetGrid .
其他关键字参数传递给底层的plotting函数。
实例
绘制单个面以使用 FacetGrid 图例位置:
>>> import seaborn as sns
>>> sns.set_theme(style="ticks")
>>> exercise = sns.load_dataset("exercise")
>>> g = sns.catplot(x="time", y="pulse", hue="kind", data=exercise)
使用不同的绘图类型来可视化相同的数据:
>>> g = sns.catplot(x="time", y="pulse", hue="kind",
... data=exercise, kind="violin")
沿列刻面以显示第三个分类变量:
>>> g = sns.catplot(x="time", y="pulse", hue="kind",
... col="diet", data=exercise)
对镶嵌面使用不同的高度和纵横比:
>>> g = sns.catplot(x="time", y="pulse", hue="kind",
... col="diet", data=exercise,
... height=5, aspect=.8)
制作许多柱面并将其包装到网格的行中:
>>> titanic = sns.load_dataset("titanic")
>>> g = sns.catplot(x="alive", col="deck", col_wrap=4,
... data=titanic[titanic.deck.notnull()],
... kind="count", height=2.5, aspect=.8)
水平打印并将其他关键字参数传递给Plot函数:
>>> g = sns.catplot(x="age", y="embark_town",
... hue="sex", row="class",
... data=titanic[titanic.embark_town.notnull()],
... orient="h", height=2, aspect=3, palette="Set3",
... kind="violin", dodge=True, cut=0, bw=.2)
对返回的 FacetGrid 要调整演示文稿,请执行以下操作:
>>> g = sns.catplot(x="who", y="survived", col="class",
... data=titanic, saturation=.5,
... kind="bar", ci=None, aspect=.6)
>>> (g.set_axis_labels("", "Survival Rate")
... .set_xticklabels(["Men", "Women", "Children"])
... .set_titles("{col_name} {col_var}")
... .set(ylim=(0, 1))
... .despine(left=True))
<seaborn.axisgrid.FacetGrid object at 0x...>