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数组或直接传递给 x
, y
和/或 hue
参数。
“长格式”数据帧,在这种情况下 x
, y
和 hue
变量将决定如何绘制数据。
一个“宽格式”数据框,这样每个数字列都将被打印出来。
向量的数组或列表。
在大多数情况下,可以使用numpy或Python对象,但最好使用pandas对象,因为关联的名称将用于注释轴。此外,可以对分组变量使用分类类型来控制绘图元素的顺序。
此函数始终将其中一个变量视为分类变量,并在顺序位置(0,1。。。n) 在相关轴上,即使数据具有数字或日期类型。
见 tutorial 更多信息。
data
或矢量数据,可选中变量的名称用于绘制长格式数据的输入。解释见示例。
用于打印的数据集。如果 x
和 y
不存在,这被解释为广义形式。否则它将是长格式的。
以绘制中的分类级别,否则级别是从数据对象推断出来的。
True
/1
是特殊情况下,可选的飘浮,要应用的抖动量(仅沿分类轴)。当您有许多点并且它们重叠时,这会很有用,以便更容易看到分布。您可以指定抖动量(均匀随机变量支持宽度的一半),或者仅使用 True
好的违约。
使用时 hue
嵌套,设置为 True
将沿分类轴分离不同色调级别的条带。否则,每个级别的点将绘制在彼此的顶部。
绘图的水平方向或垂直方向。这通常是根据输入变量的类型推断出来的,但当两者都存在时,它可以用来解决含糊不清的问题 x
和 y
是数字或打印宽格式数据时。
所有元素的颜色,或渐变调色板的种子。
用于不同级别的 hue
变量。应该是可以解释的东西 color_palette()
,或将色调级别映射到matplotlib颜色的字典。
标记的半径,以点为单位。
每个点周围线条的颜色。如果你通过了 "gray"
,亮度由用于点主体的调色板确定。
构成绘图元素的灰色线的宽度。
轴对象,否则使用当前轴。
其他关键字参数传递给 matplotlib.axes.Axes.scatter()
.
返回绘制了绘图的轴对象。
参见
swarmplot
点不重叠的分类散点图。可与其他绘图一起使用以显示每个观察结果。
boxplot
一个具有类似API的传统盒子和胡须图。
violinplot
箱线图和核密度估计的结合。
catplot
把一个明确的情节与另一个情节结合起来 FacetGrid
.
实例
绘制单个水平条形图:
>>> import seaborn as sns
>>> sns.set_theme(style="whitegrid")
>>> tips = sns.load_dataset("tips")
>>> ax = sns.stripplot(x=tips["total_bill"])
按分类变量对条带进行分组:
>>> ax = sns.stripplot(x="day", y="total_bill", data=tips)
使用较小的抖动量:
>>> ax = sns.stripplot(x="day", y="total_bill", data=tips, jitter=0.05)
绘制水平条:
>>> ax = sns.stripplot(x="total_bill", y="day", data=tips)
围绕点绘制轮廓:
>>> ax = sns.stripplot(x="total_bill", y="day", data=tips,
... linewidth=1)
将条带嵌套在第二个分类变量中:
>>> ax = sns.stripplot(x="sex", y="total_bill", hue="day", data=tips)
绘制每一层的 hue
长轴上不同位置的变量:
>>> ax = sns.stripplot(x="day", y="total_bill", hue="smoker",
... data=tips, palette="Set2", dodge=True)
通过传递显式命令来控制条带顺序:
>>> ax = sns.stripplot(x="time", y="tip", data=tips,
... order=["Dinner", "Lunch"])
用大的点和不同的美学来画条:
>>> ax = sns.stripplot(x="day", y="total_bill", hue="smoker",
... data=tips, palette="Set2", size=20, marker="D",
... edgecolor="gray", alpha=.25)
在方框图顶部绘制观察条:
>>> import numpy as np
>>> ax = sns.boxplot(x="tip", y="day", data=tips, whis=np.inf)
>>> ax = sns.stripplot(x="tip", y="day", data=tips, color=".3")
在小提琴图的顶部绘制观察条:
>>> ax = sns.violinplot(x="day", y="total_bill", data=tips,
... inner=None, color=".8")
>>> ax = sns.stripplot(x="day", y="total_bill", data=tips)
使用 catplot()
合并 stripplot()
和A FacetGrid
. 这允许在其他分类变量中进行分组。使用 catplot()
比使用更安全 FacetGrid
直接,因为它确保了跨方面的可变顺序的同步:
>>> g = sns.catplot(x="sex", y="total_bill",
... hue="smoker", col="time",
... data=tips, kind="strip",
... height=4, aspect=.7);