web-dev-qa-db-fra.com

Matplotlib boxplot sans valeurs aberrantes

Existe-t-il un moyen de cacher les valeurs aberrantes lors du traçage d'un boxplot dans matplotlib (python)?

J'utilise le moyen le plus simple de le tracer:

  from pylab import *
  boxplot([1,2,3,4,5,10])
  show()

Cela me donne l'intrigue suivante:

(Je ne peux pas poster l'image parce que je n'ai pas assez de réputation, mais en gros c'est un boxplot avec Q1 à y = 1, Q3 à y = 5 et la valeur aberrante à y = 10)

Je voudrais supprimer la valeur aberrante à y = 10, de sorte que le tracé ne montre que de Q1 à Q3 (dans ce cas de 1 à 5).

23
Didac Busquets

Dans les versions actuelles de matplotlib, vous pouvez faire:

boxplot([1,2,3,4,5,10], showfliers=False)

ou

boxplot([1,2,3,4,5,10], sym='')

Dans les versions plus anciennes, seule la deuxième approche fonctionnera.

Les docs pour boxplot le mentionnent, btw as, "Entrez une chaîne vide ('') si vous ne voulez pas afficher les dépliants.", Cependant, au moins pour moi , "valeurs aberrantes" est le mot le plus familier.

41
tom10