matplotlib如何计算boxplot中的上下极限值?

时间:2020-05-31 15:56:46

标签: python matplotlib boxplot

我试图了解matplotlib如何绘制图形。这是我编写的代码。

import matplotlib.pyplot as plt
import pandas as pd

age=[20,22,22,23,23,23,23,24,24,24,24,26,26,30]
df=pd.DataFrame(age, columns=['age']) 
df['age'].describe()

这是打印出来的数据

count    14.000000
mean     23.857143
std       2.348720
min      20.000000
25%      23.000000
50%      23.500000
75%      24.000000
max      30.000000
Name: age, dtype: float64

我计算了值IQR,L,U

IQR = Q3 - Q1= 24 – 23 = 1
L = Q1 – 1.5 * IQR = 23 – 1.5 * 1 = 21.5
U = Q3 + 1.5 * IQR = 24 + 1.5 * 1 = 25.5

但是,matplotlib生成的图形与我计算出的图形不同:

df.boxplot(column = ['age']) 

enter image description here

L和U Extreme的值是22和24(不是21.5和25.5)

matplotlib使用的L和U(上下极限)的公式是什么?

非常感谢您指出我的错误?

1 个答案:

答案 0 :(得分:1)

您计算出的值是界限,而不是 L U

L U 是数据中的最低点/最高点,距Q1 / Q3 1.5 IQR以内。

您将21.5计算为下限,但数据中大于或等于该边界的最小点为22

类似地,您计算的上限为25.5,但数据中小于或等于该上限的最大点为24