2012-04-19 51 views
6

Estoy trazando una distribución no normal usando boxplot y estoy interesado en conocer los valores atípicos usando la función de diagrama de caja de matplotlib.Encontrar los puntos atípicos de matplotlib: boxplot

Además de la trama, estoy interesado en conocer el valor de los puntos en mi código que se muestran como valores atípicos en el diagrama de caja. ¿Hay alguna manera de que pueda extraer estos valores para su uso en mi código de flujo descendente desde el objeto de diagrama de caja?

Respuesta

12

¿Se refiere a esos puntos arriba y abajo de las dos líneas negras?

from pylab import * 
spread= rand(50) * 100 
center = ones(25) * 50 
flier_high = rand(10) * 100 + 100 
flier_low = rand(10) * -100 
data =concatenate((spread, center, flier_high, flier_low), 0) 
r = boxplot(data) 

enter image description here

tienda del dict regreso de diagrama de caja, y se puede obtener la toda la información de ella, por ejemplo:

top_points = r["fliers"][0].get_data()[1] 
bottom_points = r["fliers"][2].get_data()[1] 
plot(np.ones(len(top_points)), top_points, "+") 
plot(np.ones(len(bottom_points)), bottom_points, "+") 

enter image description here

Cuestiones relacionadas