我正在尝试使用seaborn库来可视化数据集,但是在生成的箱图中,我看到了许多空插槽。
数据分为四列:Cat1 | Cat2 | Cat3 | Value
Cat1
,Cat2
和Cat3
都包含分类值,并且“值”是与类别的配置相关联的值的样本。
整理数据,因此可以针对不同的值重复类别的每种配置。
数据框(包含虚假值)的示例为:
Cat1 Cat2 Cat3 Value
A x 1 1.00
A x 1 1.05
A x 2 1.00
A x 2 1.05
A y 1 1.00
A y 1 1.05
A y 2 1.00
A y 2 1.05
B y 1 1.00
B y 1 1.05
B y 2 1.00
B y 2 1.05
A z 1 1.00
A z 1 1.05
A z 2 1.00
A z 2 1.05
B z 1 1.00
B z 1 1.05
B z 2 1.00
B z 2 1.05
我一直在尝试使用[seaborn catplot函数] [(https://seaborn.pydata.org/generated/seaborn.catplot.html)] 1绘制数据(如下面的代码片段所示)
import seaborn as sns
g = sns.catplot(data=df, x="Cat1", y="Value", hue="Cat3", col="Cat2", kind="box", notch=True, legend=False).set_titles("{col_name}")
plt.show()
从数据中应该清楚的是,对于x(在Cat2中),仅允许A,而对于B没有数据。然而,渲染的箱线图在x的子图中显示了B的空槽。 (请参见此seaborn plot showing an empty slot for a boxplot in the first subplot)
我如何才能折叠这些空插槽(实际数据包含其中的多个实例),理想情况下仍可以使用catplot函数(或类似的功能)。到目前为止,我尝试过传递关键字sharex=False
和facet_kws={"dropna":True}
,但是它们都没有达到预期的效果。