logo

עלילת קופסה ב-Python באמצעות Matplotlib

מה זה בוקס מגרש?

עלילת Box היא דרך לדמיין את התפלגות הנתונים באמצעות תיבה וכמה קווים אנכיים. זה ידוע בתור עלילת שפם. ניתן להפיץ את הנתונים בין חמישה טווחי מפתח, שהם כדלקמן:

    מִינִימוּם: Q1-1.5*IQRרבעון 1(Q1): אחוזון 25חֲצִיוֹן: אחוזון 50רבע 3(Q3): אחוזון 75מַקסִימוּם: Q3+1.5*IQR

כאן IQR מייצג את טווח בין רבעוני שמתחיל מהרבעון הראשון (Q1) ומסתיים ברבעון השלישי (Q3).

הדמיית עלילת תיבה

עלילת קופסה ב-Python באמצעות Matplotlib

בעלילת הקופסה, אותן נקודות שנמצאות מחוץ לטווח נקראות חריגים. אנו יכולים ליצור את עלילת הקופסה של הנתונים כדי לקבוע את הדברים הבאים:

  • מספר החריגים במערך נתונים
  • האם הנתונים מוטים או לא
  • טווח הנתונים

טווח הנתונים ממינימום למקסימום נקרא מגבלת שפם. ב-Python, נשתמש במודול pyplot של מודול matplotlib, שיש לו פונקציה מובנית בשם boxplot() שיכולה ליצור את עלילת התיבה של כל מערך נתונים.

תחביר:

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

בפונקציה boxplot() יש לנו הרבה תכונות שניתן להשתמש בהן כדי ליצור עלילת קופסה אטרקטיבית ומדהימה יותר של מערך הנתונים.

    נתונים: הנתונים צריכים להיות מערך או רצף של מערכים אשר ישורטו.לַחֲרוֹץ: פרמטר זה מקבל רק ערכים בוליאניים, נכון או שקר.ירוק: תכונה זו מקבלת ערך בוליאני. אם הוא מוגדר כ-true, אז הגרף יהיה אנכי. אחרת, זה יהיה אופקי.עמדה: הוא מקבל את מערך המספרים השלמים המגדיר את מיקום התיבה.רוחבים: הוא מקבל את מערך המספרים השלמים המגדיר את רוחב התיבה.patch_artist: פרמטר זה מקבל ערכים בוליאניים, נכון או שקר, וזהו פרמטר אופציונלי.תוויות: זה מקבל את המחרוזות שמגדירות את התוויות עבור כל נקודת נתוניםקו ממוצע: הוא מקבל ערך בוליאני, והוא אופציונלי.להזמין: זה קובע את הסדר של עלילת הקופסה.אתחול: הוא מקבל את הערך השלם, המציין את הטווח של תרשים התיבה המחורץ.

דוגמה1:

ניצור את מערך הנתונים האקראי של מערך ה-numpy וניצור את תרשים התיבה.

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

תְפוּקָה:

עלילת קופסה ב-Python באמצעות Matplotlib

הֶסבֵּר:

בקוד שלמעלה, קודם כל, ייבאנו את ספריות numpy ו-matplotlib בקוד. לאחר מכן יצרנו את מערך הנתונים האקראי ושרטטנו את עלילת התיבה באמצעות הפונקציה boxplot() .

דוגמה 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() 

תְפוּקָה:

עלילת קופסה ב-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() 

תְפוּקָה:

עלילת קופסה ב-Python באמצעות Matplotlib

הֶסבֵּר:

בקוד לעיל, יצרנו את ארבעת מערכי הנתונים באמצעות פונקציות אקראיות והגדרנו אותם ברשימה. כעת קבענו את הצבעים השונים עבור כל חלקת קופסה באמצעות רשימת הצבעים ושימוש בפונקציה set_facecolor().

קבענו את רוחב הקו של כל חלקת קופסה וקבענו גם את התוויות לכל חלקת קופסה. הגדרנו את התכונה vert =0, כלומר כל העלילות יהיו במצב אופקי.