Kas ir Box Plot?
Lodziņa diagramma ir veids, kā vizualizēt datu sadalījumu, izmantojot lodziņu un dažas vertikālas līnijas. Tas ir pazīstams kā ūsu sižets. Datus var sadalīt starp pieciem atslēgu diapazoniem, kas ir šādi:
Šeit IQR apzīmē Interkvartiļu diapazons kas sākas no pirmās kvartiles (Q1) un beidzas trešajā kvartilē (Q3).
Box Plot vizualizācija
Lodziņā tos punktus, kas atrodas ārpus diapazona, sauc par izņēmumiem. Mēs varam izveidot datu lodziņu, lai noteiktu:
- Ārējo vērtību skaits datu kopā
- Vai dati ir šķībi vai nav
- Datu diapazons
Datu diapazonu no minimālā līdz maksimālajam sauc par ūsu robežu. Programmā Python mēs izmantosim matplotlib moduļa pyplot moduli, kurā ir iebūvēta funkcija boxplot(), kas var izveidot jebkuras datu kopas lodziņu.
Sintakse:
matplotlib.pyplot.boxplot(data,notch=none,vert=none,patch_artist,widths=none)
Funkcijā boxplot() mums ir daudz atribūtu, kurus var izmantot, lai izveidotu pievilcīgāku un pārsteidzošāku datu kopas lodziņu.
kaudze java
1. piemērs:
Mēs izveidosim numpy masīva nejaušu datu kopu un izveidosim lodziņu.
import matplotlib.pyplot as plt import numpy as np np.random.seed(15) dataSet = np.random.normal(100, 25, 200) print(dataSet) figure = plt.figure(figsize =(10, 8)) plt.boxplot(dataSet) plt.show()
Izvade:
Paskaidrojums:
Iepriekš minētajā kodā, pirmkārt, esam importējuši kodā esošās numpy un matplotlib bibliotēkas. Pēc tam mēs izveidojām nejaušu datu kopu un uzzīmējām lodziņu, izmantojot funkciju boxplot ().
2. piemērs:
Mēs varam izveidot vairākus lodziņus vienlaicīgi vienā failā.
import matplotlib.pyplot as plt import numpy as np np.random.seed(10) dataSet1 = np.random.normal(100, 10, 220) dataSet2 = np.random.normal(80, 20, 200) dataSet3 = np.random.normal(60, 35, 220) dataSet4 = np.random.normal(50, 40, 200) dataSet = [dataSet1, dataSet2, dataSet3, dataSet4] figure = plt.figure(figsize =(10, 7)) ax = figure.add_axes([0, 0, 1, 1]) bp = ax.boxplot(dataSet) plt.show()
Izvade:
Paskaidrojums:
Iepriekš minētajā kodā mums ir četras datu kopas, izmantojot nejaušas numpy metodes. Pēc tam mēs esam izveidojuši četru datu kopu sarakstu un izmantojam šo boxplot() funkciju.
3. piemērs:
Mēs varam izmantot dažus funkcijas boxplot() atribūtus, lai pielāgotu diagrammu.
import matplotlib.pyplot as plt import numpy as np np.random.seed(10) dataSet1 = np.random.normal(100, 10, 220) dataSet2 = np.random.normal(80, 20, 200) dataSet3 = np.random.normal(60, 35, 220) dataSet4 = np.random.normal(50, 40, 200) dataSet = [dataSet1, dataSet2, dataSet3, dataSet4] figure = plt.figure(figsize =(10, 7)) ax = figure.add_subplot(111) bp = ax.boxplot(dataSet, patch_artist = True,notch ='True', vert = 0) colors = ['#00FF00','#0F00FF', '#F00FF0','#FFFF0F'] for patch, color in zip(bp['boxes'], colors): patch.set_facecolor(color) for whisker in bp['whiskers']: whisker.set(color ='#8E008B',linewidth = 1.4,linestyle =':') for cap in bp['caps']: cap.set(color ='#8E008B',linewidth = 2.1) for median in bp['medians']: median.set(color ='blue',linewidth = 3) for flier in bp['fliers']: flier.set(marker ='D',color ='#d7298c',alpha = 0.6) ax.set_yticklabels(['dataSet1', 'dataSet2','dataSet3', 'dataSet4']) plt.title('Customized box plot using attributes') ax.get_xaxis().tick_bottom() ax.get_yaxis().tick_left() plt.show()
Izvade:
Paskaidrojums:
Iepriekš minētajā kodā esam izveidojuši četras datu kopas, izmantojot nejaušas funkcijas, un iestatījušas tās sarakstā. Tagad mēs esam iestatījuši dažādas krāsas katram lodziņam, izmantojot krāsu sarakstu un izmantojot funkciju set_facecolor().
Mēs esam iestatījuši katra lodziņa parauglaukuma līnijas platumu, kā arī katra lodziņa parauglaukuma etiķetes. Mēs esam iestatījuši atribūtu vert =0, kas nozīmē, ka visi paraugi būs horizontālā režīmā.