seaborn.stripplot
条形图可以单独绘制,但如果您想要显示所有观察结果以及底层分布的某些表示,它也是一个盒子或小提琴图的良好补充。
输入数据可以以多种格式传递,包括:
- 表示为列表,numpy数组或pandas Series对象的数据向量直接传递给,
y
和hue
参数 - 在这种情况下,
x
,y
和hue
变量将决定数据的绘制方式。 - “wide-form” DataFrame, 用于绘制每个数字列。
- 一个数组或向量列表。
在大多数情况下,可以使用numpy或Python对象,但最好使用pandas对象,因为关联的名称将用于注释轴。另外,您可以使用分组变量的分类类型来控制绘图元素的顺序。
此函数始终将其中一个变量视为分类,并在相关轴上的序数位置(0,1,… n)处绘制数据,即使数据具有数字或日期类型也是如此。
有关更多信息,请参阅教程。
参数:x, y, hue
: 数据
或矢量数据中的变量名称,可选
data
:DataFrame, 数组, 数组列表, 可选
用于绘图的数据集。如果
x
和y
不存在,则将其解释为宽格式。否则预计它将是长格式的。
order, hue_order
:字符串列表,可选
命令绘制分类级别,否则从数据对象推断级别。
jitter
:float, True
/1
是特殊的,可选
要应用的抖动量(仅沿分类轴)。 当您有许多点并且它们重叠时,这可能很有用,因此更容易看到分布。您可以指定抖动量(均匀随机变量支持的宽度的一半),或者仅使用
True
作为良好的默认值
dodge
:bool, 可选
orient
:“v” | “h”, 可选
图的方向(垂直或水平)。这通常是从输入变量的dtype推断出来的,但可用于指定“分类”变量何时是数字或何时绘制宽格式数据。
color
:matplotlib颜色,可选
所有元素的颜色,或渐变调色板的种子。
用于色调变量的不同级别的颜色。应该是 , 可以解释的东西,或者是将色调级别映射到matplotlib颜色的字典。
size
:float, 可选
edgecolor
:matplotlib颜色,“灰色”是特殊的,可选的
每个点周围线条的颜色。如果传递
"灰色"
,则亮度由用于点体的调色板决定。
linewidth
:float, 可选
构图元素的灰线宽度。
ax
:matplotlib轴,可选
返回Axes对象,并在其上绘制绘图。
返回值:ax
:matplotlib轴
也可参看
分类散点图,其中点不重叠。可以与其他图一起使用来显示每个观察结果。带有类似API的传统盒须图。箱形图和核密度估计的组合。
例子
绘制单个水平条形图:
>>> import seaborn as sns
>>> sns.set(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="total_bill", y="day", data=tips,
... jitter=True)
围绕要点绘制轮廓:
>>> ax = sns.stripplot(x="total_bill", y="day", data=tips,
... jitter=True, linewidth=1)
将条带嵌套在第二个分类变量中:
... data=tips, jitter=True)
在主要分类轴上的不同位置绘制 hue
变量的每个级别:
通过传递显式顺序来控制条带顺序:
>>> ax = sns.stripplot(x="time", y="tip", data=tips,
... order=["Dinner", "Lunch"])
绘制具有大点和不同美感的条带:
>>> ax = sns.stripplot("day", "total_bill", "smoker", data=tips,
... edgecolor="gray", alpha=.25)
在箱形图上绘制观察条带:
>>> 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")
在小提琴情节的顶部绘制观察条带:
使用 catplot()
组合和FacetGrid
。这允许在其他分类变量中进行分组。使用比直接使用FacetGrid
更安全,因为它确保了跨方面的变量顺序的同步
>>> g = sns.catplot(x="sex", y="total_bill",
... hue="smoker", col="time",
... data=tips, kind="strip",
... jitter=True,
... height=4, aspect=.7);