ما هو مربع المؤامرة؟
الرسم الصندوقي هو وسيلة لتصور توزيع البيانات باستخدام مربع وبعض الخطوط الرأسية. ومن المعروف باسم مؤامرة الشعيرة. ويمكن توزيع البيانات بين خمسة نطاقات رئيسية وهي كما يلي:
katrina kaif
هنا يمثل IQR النطاق الربيعي والذي يبدأ من الربع الأول (Q1) وينتهي عند الربع الثالث (Q3).
تصور مؤامرة مربع
في مخطط الصندوق، تسمى تلك النقاط التي تقع خارج النطاق بالقيم المتطرفة. يمكننا إنشاء مخطط مربع للبيانات لتحديد ما يلي:
- عدد القيم المتطرفة في مجموعة البيانات
- هل البيانات منحرفة أم لا؟
- نطاق البيانات
يُطلق على نطاق البيانات من الحد الأدنى إلى الحد الأقصى اسم الحد الطولي. في Python، سوف نستخدم وحدة pyplot الخاصة بوحدة matplotlib، والتي تحتوي على وظيفة تحمل في ثناياه عوامل تسمى boxplot() والتي يمكنها إنشاء مخطط مربع لأي مجموعة بيانات.
بناء الجملة:
matplotlib.pyplot.boxplot(data,notch=none,vert=none,patch_artist,widths=none)
في الدالة boxplot()، لدينا الكثير من السمات التي يمكن استخدامها لإنشاء مخطط مربع أكثر جاذبية وإبهارًا لمجموعة البيانات.
مثال 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()
انتاج:
توضيح:
في الكود أعلاه، قمنا أولاً باستيراد مكتبات 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()
انتاج:
توضيح:
في الكود أعلاه، لدينا أربع مجموعات بيانات تستخدم طرقًا عشوائية لـ 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()
انتاج:
توضيح:
في الكود أعلاه، قمنا بإنشاء مجموعات البيانات الأربع باستخدام وظائف عشوائية ووضعناها في قائمة. لقد قمنا الآن بتعيين الألوان المختلفة لكل مخطط مربع باستخدام قائمة الألوان وباستخدام الدالة set_facecolor().
لقد قمنا بتعيين عرض الخط لكل قطعة أرض مربعة وقمنا أيضًا بتعيين التسميات لكل قطعة أرض مربعة. لقد قمنا بتعيين السمة vert = 0، مما يعني أن جميع المخططات ستكون في الوضع الأفقي.