2014-02-25 21 views
11

Gibt es eine Möglichkeit, die Ausreißer beim Plotten eines Boxplot in Matplotlib (Python) zu verstecken?Matplotlib boxplot ohne Ausreißer

Ich verwende den einfachsten Weg, um es von der grafischen Darstellung:

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

Das gibt mir die folgende Handlung:

(ich das Bild nicht veröffentlichen können, weil ich nicht genug Ruf haben, aber im Grunde ist es ein Boxplot mit Q1 bei y = 1, Q3 bei y = 5 und der Ausreißer bei y = 10)

Ich möchte den Ausreißer bei y = 10 entfernen, so dass die Grafik nur von Q1 bis Q3 zeigt (in diesem Fall von 1 bis 5).

Antwort

24

In aktuellen Versionen von matplotlib Sie tun können:

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

oder

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

In älteren Versionen, nur der zweite Ansatz funktioniert.

Die docs für boxplot dies tun erwähnen, btw wie für mich selbst „eine leere Zeichenfolge eingeben (‚‘), wenn Sie nicht wollen, Flyern zeigen.“, Aber zumindest „Ausreißer“ ist die bekannteren Wort.

+0

Das macht es definitiv. Meine Schuld ... habe den Doktor nicht sorgfältig gelesen (nur nach Ausreißer gesucht, nicht nach Flieger!). –

+0

Kein Problem, und es wäre schwer in der Dokumentation zu finden, wenn Sie es nicht schon wüssten - ich hatte den Vorteil, in eine andere Richtung zu gehen. (Ich bearbeite meine Antwort so, als wäre sie weniger offensichtlich, da sie nicht besonders klar war.) – tom10

+2

@DidacBusquets Will einfach hier reinkommen und sagen, dass du in v1.4 einen 'showfliers 'passierst = False "-Option beim Aufruf von Boxplot. –

Verwandte Themen