logo

Box Plot у Python за допомогою Matplotlib

А Box Plot також відомий як Ділянка вуса створено для відображення підсумку набору значень даних, які мають такі властивості, як мінімум, перший квартиль, медіана, третій квартиль і максимум. На прямокутному графіку прямокутник створюється від першого квартиля до третього квартиля, також є вертикальна лінія, яка проходить через прямокутник на медіані. Тут вісь абсцис позначає дані, які потрібно нанести на графік, а вісь у показує розподіл частот.

Створення блок-схеми

Модуль matplotlib.pyplot бібліотеки matplotlib надає функцію boxplot(), за допомогою якої ми можемо створювати коробкові графіки.



Синтаксис:

matplotlib.pyplot.boxplot(data, notch=Немає, vert=Немає, patch_artist=Немає, widths=Немає)

Параметри:



Атрибут Значення
даних масив або послідовність масиву, який буде нанесено на графік
виїмка необов'язковий параметр приймає логічні значення
Зелений необов'язковий параметр приймає логічні значення false та true для горизонтального та вертикального графіків відповідно
bootstrap необов'язковий параметр accepts int визначає інтервали навколо квадратичних графіків із зубцями
медіани користувачів необов'язковий параметр приймає масив або послідовність розмірності масиву, сумісну з даними
позиції необов'язковий параметр приймає масив і встановлює положення блоків
ширини необов'язковий параметр приймає масив і встановлює ширину блоків
patch_artist необов'язковий параметр, що має логічні значення
етикетки послідовність рядків встановлює мітку для кожного набору даних
середня лінія необов’язково, маючи логічне значення, спробуйте відобразити середню лінію як повну ширину рамки
порядок необов'язковий параметр встановлює порядок прямокутної діаграми

Значення даних, надані методу ax.boxplot(), можуть бути масивом Numpy, списком Python або кортежем масивів. Давайте створимо коробковий графік, використовуючи numpy.random.normal() для створення деяких випадкових даних, він приймає середнє значення, стандартне відхилення та бажану кількість значень як аргументи.

приклад:

Python3






файл зміни linux

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

>

>

Вихід:

box-plot-python

Налаштування Box Plot

Matplotlib.pyplot.boxplot() надає нескінченні можливості налаштування діаграми коробки. Атрибут notch = True створює формат виїмки для прямокутної діаграми, patch_artist = True заповнює рамку кольорами, ми можемо встановлювати різні кольори для різних коробок. Атрибут vert = 0 створює горизонтальну прямокутну діаграму. мітки мають ті самі розміри, що й набори числових даних.

приклад 1:

Python3




10 по 100,00
# 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()>

>

>

Вихід:

box-plot-python

виклик функції js з html

приклад 2: Давайте спробуємо змінити наведений вище графік за допомогою деяких налаштувань:

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

>

>

Вихід:

box-plot-python