A Box Plot mai este cunoscut ca Whisker plot este creat pentru a afișa rezumatul setului de valori de date având proprietăți precum minim, primul quartil, median, al treilea quartil și maxim. În diagrama cu casete, este creată o casetă de la primul quartila la al treilea quartila, există și o linie verticală care trece prin casetă la mediană. Aici axa x indică datele care trebuie trasate în timp ce axa y arată distribuția frecvenței.
Crearea Box Plot
Modulul matplotlib.pyplot al bibliotecii matplotlib oferă funcția boxplot() cu ajutorul căreia putem crea box plot.
Sintaxă:
matplotlib.pyplot.boxplot(data, notch=None, vert=None, patch_artist=None, widths=None)
Parametri:
| Atribut | Valoare |
|---|---|
| date | matrice sau secvență de matrice care urmează să fie reprezentată |
| crestătură | parametrul opțional acceptă valori booleene |
| Verde | parametrul opțional acceptă valori booleene false și adevărate pentru graficul orizontal și respectiv vertical |
| bootstrap | parametrul opțional accepts int specifică intervalele din jurul boxplot-urilor crestate |
| usermedians | parametrul opțional acceptă o matrice sau o secvență de dimensiune a matricei compatibilă cu datele |
| pozitii | parametrul opțional acceptă matrice și setează poziția casetelor |
| lățimi | parametrul opțional acceptă matrice și setează lățimea casetelor |
| patch_artist | parametru opțional având valori booleene |
| etichete | secvența de seturi de șiruri de caractere etichetă pentru fiecare set de date |
| linia medie | opțional având valoare booleană încercați să redați linia medie ca lățime completă a casetei |
| Ordin | parametrul opțional stabilește ordinea boxplot-ului |
Valorile datelor date metodei ax.boxplot() pot fi o matrice Numpy sau o listă Python sau un tuplu de matrice. Să creăm diagrama cu casete utilizând numpy.random.normal() pentru a crea niște date aleatorii, este nevoie de media, deviația standard și numărul dorit de valori ca argumente.
Exemplu:
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()> |
>
>
Ieșire:

Personalizarea Box Plot
Matplotlib.pyplot.boxplot() oferă posibilități infinite de personalizare pentru diagrama de casete. Atributul Notch = True creează formatul notch pentru diagrama de casete, patch_artist = True umple diagrama de casete cu culori, putem seta culori diferite pentru casete diferite. Atributul vert = 0 creează diagramă de casetă orizontală. etichetele au aceleași dimensiuni ca și seturile de date numerice.
Exemplul 1:
Python3
lista pe java
istoricul versiunilor 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>))> # Creating axes instance> ax>=> fig.add_axes([>0>,>0>,>1>,>1>])> # Creating plot> bp>=> ax.boxplot(data)> # show plot> plt.show()> |
>
>
Ieșire:

Exemplul 2: Să încercăm să modificăm diagrama de mai sus cu unele dintre personalizări:
Python3
# 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()> |
>
>
Ieșire:
