logo

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

Що таке Box Plot?

Коробчатий графік — це спосіб візуалізації розподілу даних за допомогою прямокутника та кількох вертикальних ліній. Він відомий як графік вуса. Дані можна розподілити між п’ятьма ключовими діапазонами, які є такими:

    Мінімум: Q1-1,5*IQR1-й квартиль(Q1): 25 процентильМедіана:50-й процентиль3 квартал(Q3): 75-й процентильМаксимум: Q3+1,5*IQR

Тут IQR представляє Міжквартильний діапазон який починається з першого квартиля (Q1) і закінчується в третьому квартилі (Q3).

Візуалізація Box Plot

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

На прямокутному графіку ті точки, які виходять за межі діапазону, називаються викидами. Ми можемо створити коробковий графік даних, щоб визначити наступне:

  • Кількість викидів у наборі даних
  • Спотворені дані чи ні
  • Діапазон даних

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

Синтаксис:

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

У функції boxplot() ми маємо багато атрибутів, які можна використовувати для створення більш привабливого та дивовижного прямокутного графіка набору даних.

    даних: Дані мають бути масивом або послідовністю масивів, які будуть нанесені на графік.виїмка: цей параметр приймає лише логічні значення, істинні чи хибні.Зелений: цей атрибут приймає логічне значення. Якщо встановлено значення true, то графік буде вертикальним. В іншому випадку він буде горизонтальним.положення: приймає масив цілих чисел, який визначає позицію поля.ширини: приймає масив цілих чисел, який визначає ширину поля.patch_artist: цей параметр приймає логічні значення, істинні або хибні, і це необов’язковий параметр.етикетки: приймає рядки, які визначають мітки для кожної точки данихсередня лінія: приймає логічне значення та є необов’язковим.порядок: встановлює порядок коробкової діаграми.bootstrap: приймає ціле значення, яке вказує діапазон квадратичного графіка з вирізами.

Приклад 1:

Ми створимо випадковий набір даних масиву numpy і створимо коробковий графік.

файл зміни linux
 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() 

Вихід:

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

Пояснення:

Перш за все, у наведеному вище коді ми імпортували бібліотеки numpy та matplotlib. Потім ми створили випадковий набір даних і побудували коробчатий графік за допомогою функції boxplot().

Приклад 2:

Ми можемо створювати декілька діаграм в одному файлі одночасно.

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

Вихід:

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

Пояснення:

У наведеному вище коді ми маємо чотири набори даних, які використовують випадкові методи numpy. Потім ми створили список із чотирьох наборів даних і використали цю внутрішню функцію boxplot().

приклад 3:

Ми можемо використовувати деякі атрибути функції boxplot(), щоб налаштувати графік.

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

Вихід:

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

Пояснення:

У наведеному вище коді ми створили чотири набори даних за допомогою випадкових функцій і встановили їх у списку. Тепер ми встановили різні кольори для кожної прямокутної діаграми за допомогою списку кольорів і функції set_facecolor().

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

Ми встановили ширину лінії кожної діаграми коробки, а також встановили мітки для кожної діаграми коробки. Ми встановили атрибут vert =0, що означає, що всі ділянки будуть у горизонтальному режимі.