📚 المخطط الشريطي المجمع
المفاهيم الأساسية
المخطط الشريطي المجمع: مخطط يسمح برسم أكثر من مجموعة بيانات (مثل عدد الطلبة والمعلمين والإداريين) على نفس المخطط الشريطي، حيث توضع الشرائط المتجاورة بشكل صحيح اعتماداً على عرض الشريط للمقارنة بين الفئات عبر المحاور.
خريطة المفاهيم
```markmap
تصوير البيانات
التعريف
التمثيل البياني للمعلومات
يجعل البيانات أيسر فهماً وتحليلاً
الأدوات
مفكرة جوبيتر
#### يدعم تصوير البيانات باستخدام مكتبات البايثون
الأنواع الشائعة
المخططات
#### المخطط الخطي
##### رسم القيم بخطوط مستقيمة عبر الزمن
##### للمقارنة بين أكثر من متغير
#### المخطط الشريطي
##### تمثيل القيم بارتفاع الأعمدة
##### أنواعه: المجمعة، المكدسة، مع أشرطة الخطأ
###### خطوات إنشاء مخطط شريطي في جوبيتر
####### 1. استيراد المكتبات
######## matplotlib.pyplot
######## numpy
######## arabic_reshaper
######## bidi.algorithm
####### 2. إنشاء مجموعة البيانات
######## تجميع البيانات حسب المنطقة باستخدام دالة (mean)
######## الحصول على متوسط عدد الطلبة والمعلمين والإداريين
######## فرز إطار البيانات حسب عمود الطلبة (تنازلياً)
####### 3. اختيار البيانات للرسم
######## استخدام الصفوف الخمسة الأولى فقط لمخطط أوضح
######## استخراج القيم إلى قوائم منفصلة
####### 4. المقطع البرمجي لإنشاء المخطط
######## استخدام أسلوب جاهز في Matplotlib
######### plt.style.use('fivethirtyeight')
######## تحديد حجم الشكل
######### fig, ax = plt.subplots(figsize=(10, 6))
######## رسم الأعمدة
######### rects1 = ax.bar(x, studentsH, width=0.5, label='مجموع الطلبة')
######## ضبط التسميات العربية
######### استخدام arabic_reshaper و get_display لعرض النص العربي بشكل صحيح
######### ضبط تسميات المحور السيني (المناطق) والصادي (العدد المتوسط) والعنوان
######## إظهار القيم على المخطط
######### ax.set_xticks(x, regCor): إظهار أسماء المناطق تحت الأعمدة
######### ax.bar_label(rects1, padding=3): إظهار قيمة كل عمود أعلى العمود
######### ax.legend(): إظهار وسيلة الإيضاح (Legend)
######### fig.tight_layout(): ضبط المخطط داخل مساحة الشكل
###### إنشاء المخطط الشريطي المجمع
####### رسم عدة مجموعات بيانات متجاورة
######## rects1 = ax.bar(x - width/3, studentsH, width, label=studentsLabel)
######## rects2 = ax.bar(x, teacherH, width, label=teachersLabel)
######## rects3 = ax.bar(x + width/3, adminsH, width, label=adminsLabel)
####### إضافة تسميات القيم لكل مجموعة
######## ax.bar_label(rects1, padding=3)
######## ax.bar_label(rects2, padding=3)
######## ax.bar_label(rects3, padding=3)
#### المخطط النقطي
##### تمثيل البيانات بنقاط مبعثرة
##### يوضح الارتباط بين متغيرين (إيجابي، سلبي، لاشيء)
#### المخطط الدائري (Pie Chart)
##### مخطط يشبه الفطائر مقسم إلى شرائح
##### يمثل القيم النسبية للمتغيرات في فئة معينة
##### أنواعه: المجوفة (Doughnut)، نصف المجوفة (Half-Doughnut)، متعددة الطبقات (Multilayered)
#### المخطط المدرج التكراري (Histogram)
##### مخطط يظهر تواتر البيانات العددية
##### الأعمدة متصلة ببعضها البعض
##### يختلف عن المخطط الشريطي الذي يقارن فئات البيانات
الرسوم البيانية
الجداول
الخرائط
مبدأ الاختيار
يتم تمثيل البيانات بشكل مختلف بكل نوع
اختر النوع حسب الهدف من التقرير
مكتبة مات بلوت ليب (Matplotlib)
مكتبة بايثون لإنشاء المخططات
تحتوي على أساليب جاهزة لجعل المخططات أكثر قابلية للفهم
دعم النص العربي
#### يتطلب استخدام مكتبتين إضافيتين:
##### arabic_reshaper
##### bidi.algorithm
#### يتم تثبيتهما بالأمر:
##### !pip install arabic-reshaper
##### !pip install python-bidi
```
نقاط مهمة
- يتم إنشاء المخطط الشريطي المجمع باستخدام `ax.bar()` مع تعديل موضع المحور السيني (`x - width/3`, `x`, `x + width/3`) لكل مجموعة بيانات لرسمها بشكل متجاور.
- مثال التطبيق: مقارنة أعداد (الطلبة، المعلمين، الإداريين) عبر أفضل 5 مناطق.
- البيانات من المثال: منطقة الشرقية لديها أعلى عدد طلبة (1582) وأعلى عدد معلمين (110)، بينما منطقة الرياض لديها أعلى عدد إداريين (27).