logo

Box Plot Python naudojant Matplotlib

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:

box-plot-python

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:

box-plot-python

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:

box-plot-python