Sök…


Boxplot-funktion

Matplotlib har sin egen implementering av boxplot . De relevanta aspekterna av denna funktion är att, som standard, rutan visar median (percentil 50%) med en röd linje. Rutan representerar Q1 och Q3 (percentiler 25 och 75), och visparna ger en uppfattning om dataintervallet (eventuellt vid Q1 - 1,5 IQR; Q3 + 1,5 IQR; eftersom IQR är interquartile intervallet, men detta saknar bekräftelse). Observera också att prover utanför detta intervall visas som markörer (dessa kallas flygblad).

OBS: Inte alla implementeringar av boxplot följer samma regler. Det kanske vanligaste boxplotdiagrammet använder whiskersna för att representera det minsta och det maximala (vilket gör att flygblad inte finns). Lägg också märke till att denna plot ibland kallas box-and-whisker plot och box-and-whisker diagram .

Följande recept visar några saker du kan göra med den nuvarande matplotlib-implementeringen av boxplot:

import matplotlib.pyplot as plt
import numpy as np

X1 = np.random.normal(0, 1, 500)
X2 = np.random.normal(0.3, 1, 500)

# The most simple boxplot
plt.boxplot(X1)
plt.show()

# Changing some of its features
plt.boxplot(X1, notch=True, sym="o") # Use sym="" to shown no fliers; also showfliers=False
plt.show()

# Showing multiple boxplots on the same window
plt.boxplot((X1, X2), notch=True, sym="o", labels=["Set 1", "Set 2"])
plt.show()

# Hidding features of the boxplot
plt.boxplot(X2, notch=False, showfliers=False, showbox=False, showcaps=False, positions=[4], labels=["Set 2"])
plt.show()

# Advanced customization of the boxplot
line_props = dict(color="r", alpha=0.3)
bbox_props = dict(color="g", alpha=0.9, linestyle="dashdot")
flier_props = dict(marker="o", markersize=17)
plt.boxplot(X1, notch=True, whiskerprops=line_props, boxprops=bbox_props, flierprops=flier_props)
plt.show()

Detta resulterar i följande tomter:

Standard matplotlib boxplot

  1. Standard matplotlib boxplot

Ändra vissa funktioner i boxplot med hjälp av funktionsargument

  1. Ändra vissa funktioner i boxplot med hjälp av funktionsargument

Flera rutor i samma tomtfönster

  1. Flera rutor i samma tomtfönster

Gömde några funktioner i boxplot

  1. Gömde några funktioner i boxplot

Avancerad anpassning av en låda med hjälp av rekvisita

  1. Avancerad anpassning av en låda med hjälp av rekvisita

Om du tänker göra någon avancerad anpassning av din boxplot bör du veta att rekvisitionsordboken du bygger (till exempel):

line_props = dict(color="r", alpha=0.3)
bbox_props = dict(color="g", alpha=0.9, linestyle="dashdot")
flier_props = dict(marker="o", markersize=17)
plt.boxplot(X1, notch=True, whiskerprops=line_props, boxprops=bbox_props, flierprops=flier_props)
plt.show()

... hänvisar mestadels (om inte alla) till Line2D- objekt. Detta betyder att endast tillgängliga argument i den klassen kan ändras. Du kommer att märka förekomsten av nyckelord som whiskerprops , boxprops , flierprops och capprops . Det här är de element du behöver för att tillhandahålla en rekvisitionsordbok för att ytterligare anpassa den.

OBS: Ytterligare anpassning av boxplot med denna implementering kan vara svårt. I vissa fall kan användningen av andra matplotlib-element, såsom lappar för att bygga en egen boxplot, vara fördelaktig (avsevärda förändringar av till exempel boxelementet).



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow