logo

Бок Плот у Питхон-у користећи Матплотлиб

Шта је Бок Плот?

Оквирни графикон је начин да се визуелизује дистрибуција података коришћењем оквира и неких вертикалних линија. Позната је као заплет бркова. Подаци се могу дистрибуирати између пет кључних опсега, који су следећи:

    Минимум: К1-1.5*ИКР1. квартил(К1): 25. перцентилмедијана:50. перцентил3. квартал(К3): 75. перцентилМаксимум: К3+1.5*ИКР

Овде ИКР представља Интеркуартиле опсег који почиње од првог квартила (К1) и завршава се у трећем квартилу (К3).

Бок Плот визуелизација

Бок Плот у Питхон-у користећи Матплотлиб

На дијаграму оквира, оне тачке које су ван опсега називају се оутлиерс. Можемо да направимо оквир са подацима да бисмо утврдили следеће:

  • Број одступања у скупу података
  • Да ли су подаци искривљени или не
  • Опсег података

Опсег података од минимума до максимума назива се граница бркова. У Питхон-у ћемо користити пиплот модул матплотлиб модула, који има уграђену функцију под називом бокплот() која може да креира оквирни дијаграм било ког скупа података.

Синтакса:

 matplotlib.pyplot.boxplot(data,notch=none,vert=none,patch_artist,widths=none) 

У функцији бокплот() имамо много атрибута који се могу користити за креирање атрактивнијег и невероватнијег оквирног дијаграма скупа података.

    података: Подаци треба да буду низ или низ низова који ће бити исцртани.огреботина: Овај параметар прихвата само логичке вредности, тачно или нетачно.Зелен: Овај атрибут прихвата логичку вредност. Ако је постављено на тачно, онда ће графикон бити вертикални. У супротном, биће хоризонтално.положај: Прихвата низ целих бројева који дефинише позицију кутије.ширине: Прихвата низ целих бројева који дефинише ширину кутије.патцх_артист: овај параметар прихвата Булове вредности, тачно или нетачно, а ово је опциони параметар.етикете: Ово прихвата низове који дефинишу ознаке за сваку тачку податакасредња линија: Прихвата логичку вредност и није обавезна.ред: Поставља редослед оквира.боотстрап: Прихвата целобројну вредност, која специфицира опсег урезаног оквира.

Пример 1:

Направићемо насумични скуп података нумпи низа и креираћемо дијаграм кутије.

 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() 

Излаз:

Бок Плот у Питхон-у користећи Матплотлиб

Објашњење:

У горњем коду, пре свега, увезли смо нумпи и матплотлиб библиотеке у код. Затим смо креирали насумични скуп података и нацртали дијаграм оквира користећи функцију бокплот().

Пример 2:

У истој датотеци можемо креирати више дијаграма оквира истовремено.

 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() 

Излаз:

Бок Плот у Питхон-у користећи Матплотлиб

Објашњење:

У горњем коду имамо четири скупа података који користе насумичне методе нумпи. Затим смо направили листу од четири скупа података и користили ову унутар бокплот() функцију.

Пример 3:

Можемо да користимо неке атрибуте функције бокплот() да прилагодимо дијаграм.

стринг јава садржи
 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() 

Излаз:

Бок Плот у Питхон-у користећи Матплотлиб

Објашњење:

У горњем коду смо креирали четири скупа података користећи насумичне функције и поставили их на листу. Сада смо поставили различите боје за сваки дијаграм оквира користећи листу боја и користећи функцију сет_фацецолор().

Поставили смо ширину линије за сваки дијаграм кутије и такође смо поставили ознаке за сваку кутију. Поставили смо атрибут верт =0, што значи да ће сви графикони бити у хоризонталном режиму.