A Dėžės sklypas taip pat žinomas kaip Ūsų siužetas sukurtas siekiant parodyti duomenų reikšmių rinkinio, turinčio tokias savybes kaip minimumas, pirmasis kvartilis, mediana, trečiasis kvartilis ir maksimumas, suvestinę. Dėžutės diagramoje langelis sukuriamas nuo pirmojo kvartilio iki trečiojo kvartilio, taip pat yra vertikali linija, kuri eina per langelį ties mediana. Čia x ašis žymi duomenis, kuriuos reikia nubraižyti, o y ašis rodo dažnio pasiskirstymą.
Dėžutės sklypo kūrimas
Matplotlib bibliotekos modulis matplotlib.pyplot suteikia boxplot() funkciją, kurios pagalba galime kurti langelius.
Sintaksė:
matplotlib.pyplot.boxplot(data, notch=Nėra, vert=Nėra, patch_artist=Nėra, widths=Nėra)
Parametrai:
| Atributas | Vertė |
|---|---|
| duomenis | braižytinas masyvas arba masyvo seka |
| įpjova | pasirenkamas parametras priima logines reikšmes |
| Žalias | pasirenkamasis parametras priima logines vertes false ir true atitinkamai horizontalioje ir vertikalioje diagramoje |
| bootstrap | pasirenkamasis parametras priima int nurodo intervalus aplink iškirptus langelius |
| vartotojų medianai | pasirenkamas parametras priima masyvą arba masyvo matmenų seką, suderinamą su duomenimis |
| pozicijų | pasirenkamas parametras priima masyvą ir nustato langelių padėtį |
| pločiai | pasirenkamas parametras priima masyvą ir nustato langelių plotį |
| patch_artist | pasirenkamas parametras, turintis logines reikšmes |
| etiketės | eilučių seka nustato kiekvieno duomenų rinkinio etiketę |
| vidurkio linija | pasirinktinai, turint loginę reikšmę, pabandykite pateikti vidurinę liniją kaip visą laukelio plotį |
| įsakymas | pasirenkamas parametras nustato boxplot tvarką |
Duomenų reikšmės, pateiktos metodui ax.boxplot() gali būti Numpy masyvas arba Python sąrašas arba masyvų rinkinys. Sukurkime langelio diagramą naudodami numpy.random.normal(), kad sukurtume kai kuriuos atsitiktinius duomenis. Tai reiškia vidurkį, standartinį nuokrypį ir norimą reikšmių skaičių kaip argumentus.
Pavyzdys:
konvertavimas iš eilutės į int Java
Python3
abstrakti klasė prieš sąsają
# 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()> |
>
>
Išvestis:

Dėžutės sklypo pritaikymas
Matplotlib.pyplot.boxplot() suteikia begalines langelio brėžinio pritaikymo galimybes. Atributas notch = True sukuria įpjovos formatą langelio sklypei, patch_artist = True užpildo boxplot spalvomis, galime nustatyti skirtingas spalvas skirtingiems langeliams. Atributas vert = 0 sukuria horizontalų langelio brėžinį. etikečių matmenys yra tokie patys kaip ir skaičių duomenų rinkiniai.
1 pavyzdys:
Python3
powershell administratorius
# 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()> |
JAV miesto pavadinimas
>
>
Išvestis:

2 pavyzdys: Pabandykime pakeisti aukščiau pateiktą schemą su kai kuriais tinkinimais:
Python3
privati vs vieša java
# 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()> |
>
>
Išvestis:
