📚 المخطط الدائري (Pie Chart)
المفاهيم الأساسية
المخطط الدائري (Pie Chart): مخطط يشبه الفطائر مقسم إلى شرائح، يمثل القيم النسبية للمتغيرات في فئة معينة.
خريطة المفاهيم
```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)
###### خطوات إنشاء مخطط دائري في جوبيتر
####### 1. إنشاء إطار بيانات جديد (groupsP)
######## تجميع البيانات حسب 'المرحلة' والحصول على المتوسط (mean)
######## اختيار الأعمدة: 'مجموع الطلبة'، 'مجموع المعلمين'، 'مجموع الإداريين'
######## فرز إطار البيانات حسب عمود 'مجموع الإداريين' (تنازلياً)
####### 2. إنشاء المخطط الدائري لمنطقة واحدة
######## إنشاء قوائم للشرائح (slices) والتسميات (labels) من الصف الأول في groupsP
######## استخدام مكتبة arabic_reshaper لضبط عرض النص العربي (labelsCor)
######## تحديد خصائص المظهر: إزاحة شريحة (explode)، زاوية البدء (startangle)، خصائص الحواف (wedgeprops)
######## استخدام المعلمة autopct='%1.1f%%' لإظهار النسبة المئوية لكل شريحة
#### المخطط المدرج التكراري (Histogram)
##### مخطط يظهر تواتر البيانات العددية
##### الأعمدة متصلة ببعضها البعض
##### يختلف عن المخطط الشريطي الذي يقارن فئات البيانات
الرسوم البيانية
الجداول
الخرائط
مبدأ الاختيار
يتم تمثيل البيانات بشكل مختلف بكل نوع
اختر النوع حسب الهدف من التقرير
مكتبة مات بلوت ليب (Matplotlib)
مكتبة بايثون لإنشاء المخططات
تحتوي على أساليب جاهزة لجعل المخططات أكثر قابلية للفهم
دعم النص العربي
#### يتطلب استخدام مكتبتين إضافيتين:
##### arabic_reshaper
##### bidi.algorithm
#### يتم تثبيتهما بالأمر:
##### !pip install arabic-reshaper
##### !pip install python-bidi
```
نقاط مهمة
- خطوات إنشاء مخطط دائري في جوبيتر تبدأ بإنشاء إطار بيانات جديد (`groupsP`) عن طريق تجميع البيانات حسب 'المرحلة' وأخذ المتوسط.
- يتم فرز إطار البيانات `groupsP` حسب عمود 'مجموع الإداريين' ترتيباً تنازلياً.
- لإنشاء المخطط الدائري لمنطقة واحدة، تُستخرج قيم الشرائح (`slices`) والتسميات (`labels`) من الصف الأول في `groupsP`.
- المعلمة `autopct='%1.1f%%'` في دالة `ax.pie()` تُستخدم لإظهار النسبة المئوية على كل شريحة.
- المعلمة `wedgeprops={'edgecolor':'black'}` تُستخدم لتحديد خصائص مظهر شرائح المخطط، مثل لون الحواف.