المقطع البرمجي لإنشاء المخطط - كتاب علم البيانات - الصف 11 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب علم البيانات - الصف 11 - الفصل 1 | المادة: علم البيانات | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: المقطع البرمجي لإنشاء المخطط

📚 معلومات الصفحة

الكتاب: كتاب علم البيانات - الصف 11 - الفصل 1 | المادة: علم البيانات | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 إنشاء المخطط الشريطي

المفاهيم الأساسية

المخطط الشريطي: تمثيل القيم بارتفاع الأعمدة (موجود في الخريطة السابقة).

خريطة المفاهيم

```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(): ضبط المخطط داخل مساحة الشكل

#### المخطط النقطي

##### تمثيل البيانات بنقاط مبعثرة

##### يوضح الارتباط بين متغيرين (إيجابي، سلبي، لاشيء)

#### المخطط الدائري (Pie Chart)

##### مخطط يشبه الفطائر مقسم إلى شرائح

##### يمثل القيم النسبية للمتغيرات في فئة معينة

##### أنواعه: المجوفة (Doughnut)، نصف المجوفة (Half-Doughnut)، متعددة الطبقات (Multilayered)

#### المخطط المدرج التكراري (Histogram)

##### مخطط يظهر تواتر البيانات العددية

##### الأعمدة متصلة ببعضها البعض

##### يختلف عن المخطط الشريطي الذي يقارن فئات البيانات

الرسوم البيانية

الجداول

الخرائط

مبدأ الاختيار

يتم تمثيل البيانات بشكل مختلف بكل نوع

اختر النوع حسب الهدف من التقرير

مكتبة مات بلوت ليب (Matplotlib)

مكتبة بايثون لإنشاء المخططات

تحتوي على أساليب جاهزة لجعل المخططات أكثر قابلية للفهم

دعم النص العربي

#### يتطلب استخدام مكتبتين إضافيتين:

##### arabic_reshaper

##### bidi.algorithm

#### يتم تثبيتهما بالأمر:

##### !pip install arabic-reshaper

##### !pip install python-bidi

```

نقاط مهمة

  • لإنشاء مخطط شريطي في Python، يتم استخدام مكتبة `matplotlib.pyplot`.
  • لضمان عرض النص العربي بشكل صحيح في المخطط، يجب استخدام مكتبتي `arabic_reshaper` و `bidi.algorithm`.
  • تتضمن خطوات تسمية المخطط الشريطي: وضع عنوان، وتسمية المحورين السيني والصادي، وإظهار وسيلة الإيضاح (Legend).
  • يمكن إظهار القيم الرقمية أعلى كل عمود في المخطط الشريطي باستخدام الدالة `bar_label()`.
  • مثال الناتج: مخطط شريطي بعنوان "مجموع الطلبة والمعلمين والإداريين، أفضل 5 مناطق" يظهر ترتيباً تنازلياً للمناطق (الشرقية الأعلى بـ 1582، تليها مكة المكرمة، الرياض، المدينة المنورة، ثم تبوك).

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

المقطع البرمجي لإنشاء المخطط

نوع: محتوى تعليمي

المقطع البرمجي لإنشاء المخطط

نوع: محتوى تعليمي

يمكنك استخدام هذا المقطع البرمجي، لعرض الأحرف العربية بشكل صحيح.

إحداثيات الأعمدة

نوع: محتوى تعليمي

إحداثيات الأعمدة

نوع: محتوى تعليمي

# This is a Matplotlib built-in style. plt.style.use('fivethirtyeight')

ضع التسمية على المخطط

نوع: محتوى تعليمي

ضع التسمية على المخطط

نوع: محتوى تعليمي

# Determine the size of the figure fig, ax = plt.subplots(figsize=(10, 6)) rects1 = ax.bar(x, studentsH, width=0.5, label='مجموع الطلبة') # Reshape Arabic letters to display them correctly regionsLabel = get_display(arabic_reshaper.reshape('المناطق')) meanLabel = get_display(arabic_reshaper.reshape('العدد المتوسط')) title = get_display(arabic_reshaper.reshape('مجموع الطلبة والمعلمين والإداريين، أفضل 5 مناطق')) # Set the labels to the axes and the title to the Bar chart ax.set_xlabel(regionsLabel) ax.set_ylabel(meanLabel) ax.set_title(title) ax.set_xticks(x, regCor) # show the value under the bars ax.legend() # show the legend ax.bar_label(rects1, padding=3) # show each bar's value on the top of the bar fig.tight_layout() # fit the chart in to the figure area

المخطط الشريطي الخاص بك جاهز.

نوع: محتوى تعليمي

المخطط الشريطي الخاص بك جاهز.

نوع: محتوى تعليمي

مجموع الطلبة والمعلمين والإداريين، أفضل 5 مناطق

🔍 عناصر مرئية

مجموع الطلبة والمعلمين والإداريين، أفضل 5 مناطق

A bar chart displaying the total number of students, teachers, and administrators for the top 5 regions. The bars are blue and have values labeled on top.

📄 النص الكامل للصفحة

--- SECTION: المقطع البرمجي لإنشاء المخطط --- المقطع البرمجي لإنشاء المخطط يمكنك استخدام هذا المقطع البرمجي، لعرض الأحرف العربية بشكل صحيح. --- SECTION: إحداثيات الأعمدة --- إحداثيات الأعمدة # This is a Matplotlib built-in style. plt.style.use('fivethirtyeight') --- SECTION: ضع التسمية على المخطط --- ضع التسمية على المخطط # Determine the size of the figure fig, ax = plt.subplots(figsize=(10, 6)) rects1 = ax.bar(x, studentsH, width=0.5, label='مجموع الطلبة') # Reshape Arabic letters to display them correctly regionsLabel = get_display(arabic_reshaper.reshape('المناطق')) meanLabel = get_display(arabic_reshaper.reshape('العدد المتوسط')) title = get_display(arabic_reshaper.reshape('مجموع الطلبة والمعلمين والإداريين، أفضل 5 مناطق')) # Set the labels to the axes and the title to the Bar chart ax.set_xlabel(regionsLabel) ax.set_ylabel(meanLabel) ax.set_title(title) ax.set_xticks(x, regCor) # show the value under the bars ax.legend() # show the legend ax.bar_label(rects1, padding=3) # show each bar's value on the top of the bar fig.tight_layout() # fit the chart in to the figure area --- SECTION: المخطط الشريطي الخاص بك جاهز. --- المخطط الشريطي الخاص بك جاهز. مجموع الطلبة والمعلمين والإداريين، أفضل 5 مناطق --- VISUAL CONTEXT --- **CHART**: مجموع الطلبة والمعلمين والإداريين، أفضل 5 مناطق Description: A bar chart displaying the total number of students, teachers, and administrators for the top 5 regions. The bars are blue and have values labeled on top. X-axis: المناطق Y-axis: العدد المتوسط Data: The chart shows a decreasing trend in the number of individuals from East to Tabuk. Key Values: Highest value: 1582 (الشرقية), Lowest value: 1088 (تبوك) Context: This bar chart visualizes the distribution of students, teachers, and administrators across different regions, allowing for comparison of numbers.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 3 بطاقة لهذه الصفحة

ما الغرض من استخدام الدالة `get_display(arabic_reshaper.reshape('النص'))` في مكتبة Matplotlib عند التعامل مع النصوص العربية؟

  • أ) تغيير لون النص العربي إلى اللون الأزرق.
  • ب) زيادة حجم خط النص العربي على المخطط.
  • ج) إعادة تشكيل الأحرف العربية وعرضها بشكل صحيح من اليمين إلى اليسار.
  • د) ترجمة النص العربي إلى اللغة الإنجليزية تلقائياً.

الإجابة الصحيحة: c

الإجابة: إعادة تشكيل الأحرف العربية وعرضها بشكل صحيح من اليمين إلى اليسار.

الشرح: 1. مكتبة Matplotlib لا تدعم عرض النصوص العربية بشكل صحيح افتراضياً. 2. تقوم `arabic_reshaper.reshape()` بإعادة تشكيل تسلسل الأحرف العربية. 3. تقوم `get_display()` بتحويل النص المُشكل إلى صيغة يمكن عرضها من اليمين إلى اليسار. 4. النتيجة: عرض النصوص العربية بشكل صحيح على المخططات.

تلميح: تتعلق هذه الدالة بحل مشكلة شائعة في عرض النصوص بلغة معينة.

التصنيف: مفهوم جوهري | المستوى: متوسط

ما الغرض من الأمر `plt.style.use('fivethirtyeight')` عند إنشاء مخطط باستخدام Matplotlib؟

  • أ) تحديد حجم الشكل (figure) للمخطط.
  • ب) تطبيق نمط جاهز ومحدد مسبقاً على المخطط لتحسين مظهره.
  • ج) إضافة وسيلة إيضاح (legend) تلقائياً للمخطط.
  • د) ضبط نطاق القيم (range) على محور الصادات (Y-axis).

الإجابة الصحيحة: b

الإجابة: تطبيق نمط جاهز ومحدد مسبقاً على المخطط لتحسين مظهره.

الشرح: 1. تحتوي مكتبة Matplotlib على مجموعة من الأنماط الجاهزة (built-in styles). 2. نمط 'fivethirtyeight' هو أحد هذه الأنماط الشائعة. 3. عند استخدام `plt.style.use('النمط')`، يتم تطبيق مجموعة من الإعدادات (الألوان، الخطوط، الخلفية) دفعة واحدة. 4. الفائدة: توفير الوقت والحصول على مخططات ذات مظهر احترافي ومتناسق.

تلميح: هذا الأمر يغير المظهر العام للرسم البياني دون الحاجة إلى ضبط كل خاصية على حدة.

التصنيف: تعريف | المستوى: سهل

ما الوظيفة التي يؤديها الأمر `ax.bar_label(rects1, padding=3)` في المثال البرمجي؟

  • أ) تحديد لون وسيلة الإيضاح (legend) للمخطط.
  • ب) إضافة عنوان رئيسي للمخطط الشريطي.
  • ج) عرض القيمة الرقمية لكل عمود (bar) أعلى ذلك العمود مباشرة.
  • د) ربط المخطط بقاعدة بيانات لاستيراد البيانات.

الإجابة الصحيحة: c

الإجابة: عرض القيمة الرقمية لكل عمود (bar) أعلى ذلك العمود مباشرة.

الشرح: 1. `rects1` هو كائن يحتوي على معلومات الأعمدة (bars) المرسومة. 2. الدالة `bar_label()` تُستخدم لإضافة تسميات (labels) لهذه الأعمدة. 3. المعامل `padding=3` يحدد المسافة بين أعلى العمود والتسمية. 4. النتيجة: تظهر القيمة العددية لكل عمود (مثل 1582) فوقه مباشرة، مما يسهل قراءة البيانات الدقيقة.

تلميح: يرتبط هذا الأمر بعرض بيانات محددة على عناصر الرسم البياني نفسه.

التصنيف: مفهوم جوهري | المستوى: متوسط