假设我有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)的底部晶须...... 期待解释...... 谢谢你的提前。
答案 0 :(得分:1)
胡须延伸到位于四分位数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,因此这就是晶须的位置。