2012-04-19 19 views
6

Normal olmayan bir dağılımı boxplot kullanarak çiziyorum ve matplotlib'in boxplot işlevini kullanan outlier'leri bulmakla ilgileniyorum.Matplotlib'den farklı puan noktalarını bulma: boxplot

Çizelgenin yanı sıra, kodumdaki kutucukta gösterilen puanların değerini bulmakla ilgileniyorum. Bu değerleri benim boxsplot nesnesinden aşağı akış kodumda kullanmam için herhangi bir yolu var mı?

cevap

12

İki siyah çizginin üstünde ve altında bulunan noktaları mı kastediyorsunuz?

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

Mağaza Boxplot dönüş dict , ve örneğin, içindeki tüm bilgileri alabilirsiniz:

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

İlgili konular