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...>