logo

Boxplot in Python met Matplotlib

A Boxplot staat ook wel bekend als Whisker-plot is gemaakt om de samenvatting weer te geven van de set gegevenswaarden met eigenschappen als minimum, eerste kwartiel, mediaan, derde kwartiel en maximum. In de boxplot wordt een box gemaakt van het eerste kwartiel tot en met het derde kwartiel, er is ook een verticale lijn die door de box op de mediaan gaat. Hier geeft de x-as de gegevens aan die moeten worden geplot, terwijl de y-as de frequentieverdeling toont.

Boxplot maken

De matplotlib.pyplot-module van de matplotlib-bibliotheek biedt de boxplot()-functie met behulp waarvan we boxplots kunnen maken.



Syntaxis:

matplotlib.pyplot.boxplot(data, notch=Geen, vert=Geen, patch_artist=Geen, breedtes=Geen)

Parameters:



cache npm wissen
Attribuut Waarde
gegevens array of reeks van arrays die moet worden geplot
inkeping optionele parameter accepteert Booleaanse waarden
Groente optionele parameter accepteert Booleaanse waarden false en true voor respectievelijk horizontale en verticale plots
bootstrap optionele parameter accepteert int specificeert intervallen rond gekerfde boxplots
gebruikersmedianen optionele parameter accepteert array of reeks array-dimensies die compatibel zijn met gegevens
posities optionele parameter accepteert array en stelt de positie van dozen in
breedtes optionele parameter accepteert array en stelt de breedte van de vakken in
patch_artiest optionele parameter met Booleaanse waarden
etiketten reeks tekenreeksen stelt het label in voor elke gegevensset
gemiddelde lijn optioneel met een Booleaanse waarde, probeer de gemiddelde lijn weer te geven als de volledige breedte van het vak
volgorde optionele parameter stelt de volgorde van de boxplot in

De gegevenswaarden die aan de methode ax.boxplot() worden gegeven, kunnen een Numpy-array of Python-lijst of Tuple van arrays zijn. Laten we de boxplot maken door numpy.random.normal() te gebruiken om willekeurige gegevens te creëren. Hiervoor zijn gemiddelde, standaarddeviatie en het gewenste aantal waarden als argumenten nodig.

Voorbeeld:

Python3






# Import libraries> import> matplotlib.pyplot as plt> import> numpy as np> # Creating dataset> np.random.seed(>10>)> data>=> np.random.normal(>100>,>20>,>200>)> fig>=> plt.figure(figsize>=>(>10>,>7>))> # Creating plot> plt.boxplot(data)> # show plot> plt.show()>

>

vraagkiezer
>

Uitgang:

box-plot-python

Boxplot aanpassen

De matplotlib.pyplot.boxplot() biedt eindeloze aanpassingsmogelijkheden voor de boxplot. Het attribuut notch = True creëert het notch-formaat voor de boxplot, patch_artist = True vult de boxplot met kleuren, we kunnen verschillende kleuren instellen voor verschillende boxen. Het attribuut vert = 0 creëert een horizontale boxplot. labels hebben dezelfde afmetingen als de nummergegevenssets.

Voorbeeld 1:

Python3


hoe je een map Linux kunt hernoemen



# Import libraries> import> matplotlib.pyplot as plt> import> numpy as np> # Creating dataset> np.random.seed(>10>)> data_1>=> np.random.normal(>100>,>10>,>200>)> data_2>=> np.random.normal(>90>,>20>,>200>)> data_3>=> np.random.normal(>80>,>30>,>200>)> data_4>=> np.random.normal(>70>,>40>,>200>)> data>=> [data_1, data_2, data_3, data_4]> fig>=> plt.figure(figsize>=>(>10>,>7>))> # Creating axes instance> ax>=> fig.add_axes([>0>,>0>,>1>,>1>])> # Creating plot> bp>=> ax.boxplot(data)> # show plot> plt.show()>

nump uniek
>

>

Uitgang:

box-plot-python

Voorbeeld 2: Laten we proberen het bovenstaande plot aan te passen met enkele aanpassingen:

Python3


blokkeer YouTube-advertenties Android



# Import libraries> import> matplotlib.pyplot as plt> import> numpy as np> # Creating dataset> np.random.seed(>10>)> data_1>=> np.random.normal(>100>,>10>,>200>)> data_2>=> np.random.normal(>90>,>20>,>200>)> data_3>=> np.random.normal(>80>,>30>,>200>)> data_4>=> np.random.normal(>70>,>40>,>200>)> data>=> [data_1, data_2, data_3, data_4]> fig>=> plt.figure(figsize>=>(>10>,>7>))> ax>=> fig.add_subplot(>111>)> # Creating axes instance> bp>=> ax.boxplot(data, patch_artist>=> True>,> >notch>=>'True'>, vert>=> 0>)> colors>=> [>'#0000FF'>,>'#00FF00'>,> >'#FFFF00'>,>'#FF00FF'>]> for> patch, color>in> zip>(bp[>'boxes'>], colors):> >patch.set_facecolor(color)> # changing color and linewidth of> # whiskers> for> whisker>in> bp[>'whiskers'>]:> >whisker.>set>(color>=>'#8B008B'>,> >linewidth>=> 1.5>,> >linestyle>=>':'>)> # changing color and linewidth of> # caps> for> cap>in> bp[>'caps'>]:> >cap.>set>(color>=>'#8B008B'>,> >linewidth>=> 2>)> # changing color and linewidth of> # medians> for> median>in> bp[>'medians'>]:> >median.>set>(color>=>'red'>,> >linewidth>=> 3>)> # changing style of fliers> for> flier>in> bp[>'fliers'>]:> >flier.>set>(marker>=>'D'>,> >color>=>'#e7298a'>,> >alpha>=> 0.5>)> > # x-axis labels> ax.set_yticklabels([>'data_1'>,>'data_2'>,> >'data_3'>,>'data_4'>])> # Adding title> plt.title(>'Customized box plot'>)> # Removing top axes and right axes> # ticks> ax.get_xaxis().tick_bottom()> ax.get_yaxis().tick_left()> > # show plot> plt.show()>

>

>

Uitgang:

box-plot-python