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:

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:

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:
