seaborn.stripplot

优质
小牛编辑
133浏览
2023-12-01
seaborn.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)

绘制一个散点图,其中一个变量是分类。

条形图可以单独绘制,但如果您想要显示所有观察结果以及底层分布的某些表示,它也是一个盒子或小提琴图的良好补充。

输入数据可以以多种格式传递,包括:

  • 表示为列表,numpy数组或pandas Series对象的数据向量直接传递给xyhue参数
  • 在这种情况下,xyhue变量将决定数据的绘制方式。
  • “wide-form” DataFrame, 用于绘制每个数字列。
  • 一个数组或向量列表。

在大多数情况下,可以使用numpy或Python对象,但最好使用pandas对象,因为关联的名称将用于注释轴。另外,您可以使用分组变量的分类类型来控制绘图元素的顺序。

此函数始终将其中一个变量视为分类,并在相关轴上的序数位置(0,1,... n)处绘制数据,即使数据具有数字或日期类型也是如此。

有关更多信息,请参阅color_palette(), 可以解释的东西,或者是将色调级别映射到matplotlib颜色的字典。

size:float, 可选

标记的直径,以磅为单位。(虽然 plt.scatter 用于绘制点,但这里的 size 参数采用“普通”标记大小而不是大小^ 2,如 plt.scatter

edgecolor:matplotlib颜色,“灰色”是特殊的,可选的

每个点周围线条的颜色。如果传递"灰色",则亮度由用于点体的调色板决定。

linewidth:float, 可选

构图元素的灰线宽度。

ax:matplotlib轴,可选

返回Axes对象,并在其上绘制绘图。

返回值:ax:matplotlib轴

返回Axes对象,并在其上绘制绘图。

也可参看

分类散点图,其中点不重叠。可以与其他图一起使用来显示每个观察结果。带有类似API的传统盒须图。箱形图和核密度估计的组合。

例子

绘制单个水平条形图:

>>> import seaborn as sns
>>> sns.set(style="whitegrid")
>>> tips = sns.load_dataset("tips")
>>> ax = sns.stripplot(x=tips["total_bill"])

http://seaborn.pydata.org/_images/seaborn-stripplot-1.png

通过分类变量对条形图进行分组:

>>> ax = sns.stripplot(x="day", y="total_bill", data=tips)

http://seaborn.pydata.org/_images/seaborn-stripplot-2.png

添加抖动以显示值的分布:

>>> ax = sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)

http://seaborn.pydata.org/_images/seaborn-stripplot-3.png

使用较少量的抖动:

>>> ax = sns.stripplot(x="day", y="total_bill", data=tips, jitter=0.05)

http://seaborn.pydata.org/_images/seaborn-stripplot-4.png

画水平条形图:

>>> ax = sns.stripplot(x="total_bill", y="day", data=tips,
...                    jitter=True)

http://seaborn.pydata.org/_images/seaborn-stripplot-5.png

围绕要点绘制轮廓:

>>> ax = sns.stripplot(x="total_bill", y="day", data=tips,
...                    jitter=True, linewidth=1)

http://seaborn.pydata.org/_images/seaborn-stripplot-6.png

将条带嵌套在第二个分类变量中:

>>> ax = sns.stripplot(x="sex", y="total_bill", hue="day",
...                    data=tips, jitter=True)

http://seaborn.pydata.org/_images/seaborn-stripplot-7.png

在主要分类轴上的不同位置绘制 hue 变量的每个级别:

>>> ax = sns.stripplot(x="day", y="total_bill", hue="smoker",
...                    data=tips, jitter=True,
...                    palette="Set2", dodge=True)

http://seaborn.pydata.org/_images/seaborn-stripplot-8.png

通过传递显式顺序来控制条带顺序:

>>> ax = sns.stripplot(x="time", y="tip", data=tips,
...                    order=["Dinner", "Lunch"])

http://seaborn.pydata.org/_images/seaborn-stripplot-9.png

绘制具有大点和不同美感的条带:

>>> ax =  sns.stripplot("day", "total_bill", "smoker", data=tips,
...                    palette="Set2", size=20, marker="D",
...                    edgecolor="gray", alpha=.25)

http://seaborn.pydata.org/_images/seaborn-stripplot-10.png

在箱形图上绘制观察条带:

>>> ax = sns.boxplot(x="tip", y="day", data=tips, whis=np.inf)
>>> ax = sns.stripplot(x="tip", y="day", data=tips,
...                    jitter=True, color=".3")

http://seaborn.pydata.org/_images/seaborn-stripplot-11.png

在小提琴情节的顶部绘制观察条带:

>>> ax = sns.violinplot(x="day", y="total_bill", data=tips,
...                     inner=None, color=".8")
>>> ax = sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)

http://seaborn.pydata.org/_images/seaborn-stripplot-12.png

使用 catplot() 组合stripplot()FacetGrid。这允许在其他分类变量中进行分组。使用catplot()比直接使用FacetGrid更安全,因为它确保了跨方面的变量顺序的同步

>>> g = sns.catplot(x="sex", y="total_bill",
...                 hue="smoker", col="time",
...                 data=tips, kind="strip",
...                 jitter=True,
...                 height=4, aspect=.7);

http://seaborn.pydata.org/_images/seaborn-stripplot-13.png