مكتبة Matplotlib: أساسيات تصوير البيانات ورسم المخططات البيانية (الخطية والعمودية)
مرحباً بكم أيها المبرمجون! في هذا الدرس الاحترافي، سنتعمق في أساسيات مكتبة Matplotlib، وهي حجر الزاوية في تصوير البيانات في Python.
ماذا سنتعلم؟ سنقوم ببناء رسوم بيانية خطية وعمودية خطوة بخطوة، مع التركيز على تنظيم الكود وتخصيص المخرجات المرئية.
الخطوة 1: البدء برسم بياني خطي بسيط
نبدأ بتضمين مكتبة Matplotlib ورسم أول مخطط خطي لنا. هذه هي اللبنة الأساسية لأي تصور.
ملاحظة تقنية: عادةً ما يتم استيراد
matplotlib.pyplotباسمplt، وهي اصطلاحات قياسية في مجتمع بايثون لتسهيل قراءة الكود.
import matplotlib.pyplot as plt # استيراد مكتبة pyplot من Matplotlib
# تعريف البيانات
x = [1, 2, 3, 4, 5] # قيم المحور السيني
y = [2, 3, 5, 7, 11] # قيم المحور الصادي (على سبيل المثال، أعداد أولية)
# إنشاء الرسم البياني الخطي
plt.plot(x, y) # رسم الخط باستخدام x و y
# عرض الرسم البياني
plt.show() # إظهار النافذة التي تحتوي على الرسم البياني
في هذه الخطوة، قمنا بتعريف مجموعتين من البيانات (x و y) ثم استخدمنا الدالة plt.plot() لرسمها، وأخيراً plt.show() لعرض المخطط.
الخطوة 2: تخصيص الرسم البياني الخطي - إضافة العناوين والمحاور
الرسم البياني البسيط مفيد، لكن إضافة العناوين وتسميات المحاور تجعله قابلاً للفهم بشكل أكبر. هنا سنتعلم كيفية إضافة هذه العناصر الأساسية.
import matplotlib.pyplot as plt
# تعريف البيانات
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# إنشاء الرسم البياني الخطي
plt.plot(x, y, marker='o', linestyle='--', color='blue', label='الأعداد الأولية') # إضافة علامات، نمط خط، لون، وتسمية للخط
# إضافة عنوان للرسم البياني
plt.title('نمو الأعداد الأولية الصغيرة')
# إضافة تسميات للمحاور
plt.xlabel('الترتيب') # تسمية المحور السيني
plt.ylabel('القيمة') # تسمية المحور الصادي
# إضافة شبكة للمساعدة في القراءة
plt.grid(True)
# إضافة وسيلة إيضاح (Legend) إذا كان هناك أكثر من خط أو لتوضيح الخطوط
plt.legend()
# عرض الرسم البياني
plt.show()
لقد قمنا بتعزيز الرسم البياني بإضافة عنوان باستخدام plt.title()، وتسميات للمحاور باستخدام plt.xlabel() و plt.ylabel(). كما أضفنا marker و linestyle و color لزيادة وضوح الخط، و plt.grid(True) للشبكة، و plt.legend() لعرض تسمية الخط.
الخطوة 3: رسم المخططات البيانية العمودية (Bar Plots)
المخططات العمودية ممتازة لمقارنة الفئات المختلفة. في هذه الخطوة، سنقوم بإنشاء مخطط عمودي بسيط.
import matplotlib.pyplot as plt
# تعريف البيانات للفئات والقيم
فئات = ['أ', 'ب', 'ج', 'د', 'هـ'] # أسماء الفئات
قيم = [20, 35, 30, 45, 25] # القيم المقابلة لكل فئة
# إنشاء الرسم البياني العمودي
plt.bar(فئات, قيم, color='green') # رسم الأعمدة باستخدام الفئات والقيم
# إضافة عنوان للرسم البياني
plt.title('مقارنة القيم بين الفئات')
# إضافة تسميات للمحاور
plt.xlabel('الفئة')
plt.ylabel('القيمة')
# عرض الرسم البياني
plt.show()
هنا، استخدمنا الدالة plt.bar() لإنشاء مخطط عمودي. تمثل فئات المحور السيني (الفئات)، بينما تمثل قيم ارتفاع كل عمود. يمكننا أيضاً تخصيص لون الأعمدة باستخدام وسيطة color.
الكود النهائي الكامل
هذا هو السكربت الكامل الذي يجمع كل ما تعلمناه، ويمكنك تشغيله مباشرة للحصول على المخططات.
import matplotlib.pyplot as plt
# --- الرسم البياني الخطي ---
x_line = [1, 2, 3, 4, 5]
y_line = [2, 3, 5, 7, 11]
plt.figure(figsize=(8, 6)) # إنشاء شكل جديد بحجم محدد
plt.plot(x_line, y_line, marker='o', linestyle='--', color='blue', label='الأعداد الأولية')
plt.title('نمو الأعداد الأولية الصغيرة')
plt.xlabel('الترتيب')
plt.ylabel('القيمة')
plt.grid(True)
plt.legend()
plt.show() # عرض الرسم البياني الخطي
# --- الرسم البياني العمودي ---
فئات_bar = ['أ', 'ب', 'ج', 'د', 'هـ']
قيم_bar = [20, 35, 30, 45, 25]
plt.figure(figsize=(8, 6)) # إنشاء شكل جديد آخر للرسم البياني العمودي
plt.bar(فئات_bar, قيم_bar, color=['green', 'red', 'purple', 'orange', 'cyan']) # تخصيص الألوان لكل عمود
plt.title('مقارنة القيم بين الفئات')
plt.xlabel('الفئة')
plt.ylabel('القيمة')
plt.grid(axis='y', linestyle='--') # شبكة على المحور Y فقط
plt.show() # عرض الرسم البياني العمودي
النتيجة المتوقعة
عند تشغيل السكربت، ستظهر لك نافذتان منفصلتان (أو سيتم عرضهما متتاليتين في بيئات مثل Jupyter Notebook). النافذة الأولى ستحتوي على مخطط خطي يمثل نمو الأعداد الأولية، مع عنوان وتسميات للمحاور وشبكة ووسيلة إيضاح. النافذة الثانية ستحتوي على مخطط عمودي يقارن القيم بين خمس فئات مختلفة، مع تخصيص الألوان لكل عمود وعنوان وتسميات للمحاور وشبكة أفقية.
هذه الرسوم البيانية ستوفر تمثيلاً مرئياً واضحاً للبيانات، مما يسهل فهم الأنماط والمقارنات.