matplotlib的奇怪胡须?

2024-10-04 11:28:50 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有logn2 np数组,比如:

>>> logn2
array([ -5.        ,   3.22655284,   3.58529678,   5.51257293,
         1.32608097,   1.81131178,   1.61770358,   2.48523293,
         1.52769818,   0.8398167 ,   1.72581258,   0.71002385,
         0.66656821,  15.58947569,   2.66127789,   1.66101225,
         5.93631209,   0.51714802,   1.95765916,   3.8926797 ,   1.78347924])

如果我这样做了:

>>> plt.ion()
>>> plt.figure(1)
>>> bp2 = plt.boxplot(logn2)
>>> axes1 = plt.gca()
>>> axes1.set_ylim([-7,20])
>>> plt.draw()

我没有观察到底部晶须到Q1-1.5(Q3-Q1),正如预期的那样。。。 期待解释。。。 提前谢谢。你知道吗


Tags: npplt数组arrayfiguredrawsetion
1条回答
网友
1楼 · 发布于 2024-10-04 11:28:50

晶须延伸到最远的数据点,该数据点位于四分位数的1.5*IQR内。它们不会一直扩展到Q1 - 1.5*IQR,除非那里确实有一个数据点。对于您的数据:

>>> np.percentile(x, [25, 50, 75])
[1.32608097, 1.7834792399999999, 3.2265528400000001]
>>> q1, q2, q3 = np.percentile(x, [25, 50, 75])
>>> iqr = q3-q1
>>> iqr
1.9004718700000001
>>> q1-1.5*iqr
-1.5246268349999998

在您的数据中,第一个四分位数和这个数字之间的进一步数据点约为0.5,所以这就是胡须所在的位置。你知道吗

相关问题 更多 >