如何将离群值(可以是来自箱形图的离群值点)与小提琴图混合?

 

第二张图是从https://towardsdatascience.com/violin-plots-explained-fb1d115e023d捕获的。 第一个是我自己创建的。

我在做python matplotlib作业时发现了这一要求,因为教授要求我们在小提琴图上突出显示异常值,如果异常值存在的话,也就是离群点。

对于我创建的小提琴图,没有y值,换句话说,即使我使用python命令行来运行而不是jupyter notebook,y值也为空,因为当我将鼠标停在图形上时,只有x值,但是 y值为“ y =”。 如果我想绘制小圆圈以突出显示离群值,这对我来说是没有办法的,因为只有x值。

有什么解决办法吗?

原文是我写的英文版的,我直接翻译过来了,在stackoverflow上,但是没人回我。。。

https://stackoverflow.com/questions/66913456/how-to-mix-the-outliers-from-boxplot-or-not-with-violin-plot

violin图使用 seaborn写的

试试这样看是否可以

1. 将swarmplot()、violinplot()结合起来, 类似于下面这段代码

g = sns.catplot(x="day", y="total_bill", kind="violin", inner=None, data=tips)

sns.swarmplot(x="day", y="total_bill", color="k", size=3, data=tips, ax=g.ax)

2. 如果只想显示异常的点, 先对数据进行处理, 按照异常值的规则标记出哪些是异常点, 用这些异常点作图.

3. 对于只有一个系列或者分类变量图中的x轴(你上图中的y轴),实际是按照0,1,2,3,4这样的顺序排列的.  可以用0 或者生成0上下浮动的随机数作为x轴(图中的y轴)