تُوفر دالة hist()
في مكتبة Matplotlib أدوات قوية لتصور توزيعات البيانات. ومع ذلك، فإن تقسيم البيانات التلقائي الافتراضي قد يُخفي أحيانًا تفاصيل مهمة أو يؤدي إلى سوء التفسير. لذا، فإن التحكم الدقيق في حجم الحاوية ضروري لإنشاء تصورات دقيقة وذات معنى. تتناول هذه المقالة طريقتين فعالتين لتحقيق ذلك.
محتويات الجدول
تحديد حواف الحاوية مباشرةً
الطريقة الأكثر مباشرة للتحكم في حجم الحاوية هي تحديد حواف الحاوية صراحةً باستخدام معلمة bins
في دالة hist()
. وهذا يوفر تحكمًا كاملاً في حدود كل حاوية.
import matplotlib.pyplot as plt
import numpy as np
# بيانات عينة
data = np.random.randn(1000)
# تحديد حواف الحاوية (مثلًا، حاويات بعرض 0.5 من -4 إلى 4)
bin_edges = np.arange(-4, 4.1, 0.5)
# إنشاء الرسم البياني التكراري
plt.hist(data, bins=bin_edges)
plt.xlabel("القيمة")
plt.ylabel("التردد")
plt.title("رسم بياني تكراري مع حواف حاوية محددة صراحةً")
plt.show()
ينتج هذا الكود رسمًا بيانيًا تكراريًا مع حاويات بعرض 0.5 تتراوح من -4 إلى 4. تُحدد مصفوفة bin_edges
حدود كل حاوية بدقة. تحدد القيمة الأخيرة في bin_edges
الحد الأعلى للحاوية الأخيرة. سيتم استبعاد نقاط البيانات الموجودة خارج هذا النطاق. قم بتعديل bin_edges
حسب الحاجة لتشمل بياناتك وعرض الحاوية المطلوب.
حساب الحاويات من العرض المطلوب
بدلاً من ذلك، إذا كنت تعرف عرض الحاوية المطلوب ولكن ليس الحواف الدقيقة، فاحسب عدد الحاويات المطلوبة بناءً على نطاق بياناتك والعرض المطلوب. ستحدد Matplotlib بعد ذلك حواف الحاوية المناسبة تلقائيًا.
import matplotlib.pyplot as plt
import numpy as np
# بيانات عينة
data = np.random.randn(1000)
# عرض الحاوية المطلوب
bin_width = 0.5
# حساب عدد الحاويات
data_min = np.min(data)
data_max = np.max(data)
num_bins = int((data_max - data_min) / bin_width)
# إنشاء الرسم البياني التكراري
plt.hist(data, bins=num_bins)
plt.xlabel("القيمة")
plt.ylabel("التردد")
plt.title("رسم بياني تكراري مع عدد حاويات محسوب")
plt.show()
# لمزيد من التحكم الدقيق، احسب حواف الحاوية صراحةً:
bin_edges = np.linspace(data_min, data_max, num_bins + 1) # استخدم linspace للتوزيع المتساوي
plt.hist(data, bins=bin_edges)
plt.xlabel("القيمة")
plt.ylabel("التردد")
plt.title("رسم بياني تكراري مع حواف حاوية محسوبة بدقة")
plt.show()
يحسب هذا الكود أولاً num_bins
. ثم تستخدم Matplotlib هذا لتعديل حواف الحاوية تلقائيًا، مع ضمان تضمين جميع نقاط البيانات. يُظهر الجزء الثاني كيفية حساب bin_edges
لمزيد من التحكم الدقيق. لاحظ أن Matplotlib قد تقوم بتعديل هذه الحواف قليلاً.
من خلال استخدام أي من هاتين الطريقتين، يمكنك التحكم بدقة في تقسيم البيانات في الرسوم البيانية التكرارية في Matplotlib، مما ينتج عنه تصورات بيانات أوضح وأكثر إفادة. اختر الطريقة الأنسب لاحتياجاتك ومستوى التحكم المطلوب.