A Krabicový pozemok je tiež známy ako Fúzová zápletka je vytvorený na zobrazenie súhrnu množiny hodnôt údajov s vlastnosťami ako minimum, prvý kvartil, medián, tretí kvartil a maximum. V krabicovom grafe je vytvorený rámček od prvého kvartilu po tretí kvartil, je tu tiež zvislá čiara, ktorá prechádza rámčekom pri mediáne. Os x tu označuje údaje, ktoré sa majú vykresliť, zatiaľ čo os y ukazuje rozdelenie frekvencie.
Vytváranie krabicového grafu
Modul matplotlib.pyplot knižnice matplotlib poskytuje funkciu boxplot(), pomocou ktorej môžeme vytvárať krabicové grafy.
Syntax:
matplotlib.pyplot.boxplot(data, notch=None, vert=None, patch_artist=None, widths=None)
Parametre:
| Atribút | Hodnota |
|---|---|
| údajov | pole alebo postupnosť poľa, ktoré sa má vykresliť |
| zárez | voliteľný parameter akceptuje boolovské hodnoty |
| zelená | voliteľný parameter akceptuje boolovské hodnoty false a true pre horizontálny a vertikálny graf |
| bootstrap | voliteľný parameter akceptuje int špecifikuje intervaly okolo vrúbkovaných boxplots |
| užívateľské mediány | voliteľný parameter akceptuje pole alebo postupnosť rozmerov poľa kompatibilných s údajmi |
| pozície | voliteľný parameter akceptuje pole a nastavuje polohu políčok |
| šírky | voliteľný parameter akceptuje pole a nastavuje šírku políčok |
| patch_artist | voliteľný parameter s boolovskými hodnotami |
| štítky | postupnosť reťazcov nastavuje označenie pre každý súbor údajov |
| stredná čiara | voliteľné s boolovskou hodnotou skúste vykresliť strednú čiaru ako plnú šírku rámčeka |
| objednať | voliteľný parameter nastavuje poradie boxplotu |
Hodnoty údajov pridelené metóde ax.boxplot() môžu byť Numpy pole alebo Python zoznam alebo Numpa polí. Vytvorme krabicový graf pomocou numpy.random.normal() na vytvorenie niektorých náhodných údajov, pričom ako argumenty sa použijú priemer, štandardná odchýlka a požadovaný počet hodnôt.
Príklad:
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()> |
abecedy k číslam
>
>
Výkon:

Prispôsobenie krabicového grafu
Matplotlib.pyplot.boxplot() poskytuje nekonečné možnosti prispôsobenia krabicového grafu. Atribút notch = True vytvára formát notch boxového grafu, patch_artist = True vypĺňa box plot farbami, rôznym boxom môžeme nastaviť rôzne farby. Atribút vert = 0 vytvára horizontálny box plot. štítky majú rovnaké rozmery ako množiny údajov.
Príklad 1:
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>))> # Creating axes instance> ax>=> fig.add_axes([>0>,>0>,>1>,>1>])> # Creating plot> bp>=> ax.boxplot(data)> # show plot> plt.show()> |
>
príkaz java if else
>
Výkon:

Príklad 2: Pokúsme sa upraviť vyššie uvedený graf pomocou niektorých prispôsobení:
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()> |
>
>
Výkon:
