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

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

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

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

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

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

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

📝 ملخص الصفحة

📚 إنشاء أربعة مخططات دائرية

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

مكتبة مات بلوت ليب (Matplotlib): تحتوي على مجموعة كبيرة من الإعدادات لتصميم مخطط أو رسم بياني.

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

```markmap

تصوير البيانات

الأنواع الشائعة

المخططات

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

##### إنشاء مخططات متعددة في شكل واحد

###### خطوات إنشاء أربعة مخططات دائرية في جوبيتر

####### 1. إنشاء شبكة من المحاور الفرعية

######## plt.subplots(2, 2, figsize=(16, 10), subplot_kw=dict(aspect="equal"))

######## إنشاء شكل (Figure) يحتوي على 2 صف و 2 عمود من المحاور الفرعية (Axes)

####### 2. إنشاء مخطط دائري لكل محور فرعي

######## استخراج الشرائح (slices) من صفوف مختلفة في إطار البيانات (groupsP.iloc[0, :])

######## استخراج التسميات (labels) من أعمدة إطار البيانات (groupsP.columns[:])

######## ضبط عرض النص العربي باستخدام arabic_reshaper و get_display

######## رسم المخطط الدائري لكل محور

######### ax1.pie(slices, labels=labelsCor, shadow=False, startangle=45, autopct='%1.1f%%', wedgeprops={'edgecolor': 'black'})

######## تعيين عنوان لكل مخطط من بيانات الصف الأول (groupsP.iloc[0, 0])

######### ax1.set_title(title1)

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

تحتوي على مجموعة كبيرة من الإعدادات لتصميم المخططات

يمكن زيارة الموقع الإلكتروني http://matplotlib.org للاطلاع على التفاصيل

```

نقاط مهمة

  • يتم إنشاء شكل واحد (Figure) يحتوي على أربعة مخططات دائرية مرتبة في شبكة 2×2 باستخدام `plt.subplots(2, 2)`.
  • يتم استخراج البيانات لكل مخطط دائري من صف مختلف في إطار البيانات `groupsP`.
  • يتم استخدام نفس أعمدة `groupsP` كتسميات (Labels) لجميع المخططات.
  • يتم ضبط خصائص موحدة لجميع المخططات مثل: `shadow=False`, `startangle=45`, `autopct='%1.1f%%'`, وحواف سوداء `wedgeprops={'edgecolor': 'black'}`.
  • يتم تعيين عنوان فريد لكل مخطط من العمود الأول في الصف المقابل من `groupsP`.

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

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

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

fig, ([ax1, ax2], [ax3, ax4]) = plt.subplots(2, 2, figsize=(16, 10), subplot_kw=dict(aspect="equal"))

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

# First pie chart slices = groupsP.iloc[0, :].tolist() labels = groupsP.columns[:].tolist() labelsCor = [get_display(arabic_reshaper.reshape(element)) for element in labels] ax1.pie(slices, labels=labelsCor, shadow=False, startangle=45, autopct='%1.1f%%', wedgeprops={'edgecolor': 'black'}) title1 = get_display(arabic_reshaper.reshape(groupsP.iloc[0, 0])) ax1.set_title(title1)

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

# Second pie chart slices = groupsP.iloc[1, :].tolist() labels = groupsP.columns[:].tolist() labelsCor = [get_display(arabic_reshaper.reshape(element)) for element in labels] ax2.pie(slices, labels=labelsCor, shadow=False, startangle=45, autopct='%1.1f%%', wedgeprops={'edgecolor': 'black'}) title2 = get_display(arabic_reshaper.reshape(groupsP.iloc[1, 0])) ax2.set_title(title2)

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

# Third pie chart slices = groupsP.iloc[2, :].tolist() labels = groupsP.columns[:].tolist() labelsCor = [get_display(arabic_reshaper.reshape(element)) for element in labels] ax3.pie(slices, labels=labelsCor, shadow=False, startangle=45, autopct='%1.1f%%', wedgeprops={'edgecolor': 'black'}) title3 = get_display(arabic_reshaper.reshape(groupsP.iloc[2, 0])) ax3.set_title(title3)

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

# Fourth pie chart slices = groupsP.iloc[3, :].tolist() labels = groupsP.columns[:].tolist() labelsCor = [get_display(arabic_reshaper.reshape(element)) for element in labels] ax4.pie(slices, labels=labelsCor, shadow=False, startangle=45, autopct='%1.1f%%', wedgeprops={'edgecolor': 'black'}) title4 = get_display(arabic_reshaper.reshape(groupsP.iloc[3, 0])) ax4.set_title(title4)

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

الشكل 3.53: إنشاء أربعة مخططات دائرية

نوع: NON_EDUCATIONAL

تحتوي مكتبة مات بلوت ليب على مجموعة كبيرة من الإعدادات لتصميم مخطط أو رسم بياني. يمكنك زيارة موقع المكتبة الإلكتروني http://matplotlib.org للاطلاع على تفاصيل كافة إعداداتها.

نوع: METADATA

وزارة التعليم Ministry of Education 2025 - 1447

🔍 عناصر مرئية

إنشاء أربعة مخططات دائرية

A 2x2 grid containing four distinct pie charts. Each pie chart appears to represent different data slices, indicated by varying colors and proportions. The code suggests each chart is generated independently using slices and labels derived from 'groupsP'. The 'edgecolor' is set to 'black' for all charts, meaning the borders between slices are black.

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

fig, ([ax1, ax2], [ax3, ax4]) = plt.subplots(2, 2, figsize=(16, 10), subplot_kw=dict(aspect="equal")) # First pie chart slices = groupsP.iloc[0, :].tolist() labels = groupsP.columns[:].tolist() labelsCor = [get_display(arabic_reshaper.reshape(element)) for element in labels] ax1.pie(slices, labels=labelsCor, shadow=False, startangle=45, autopct='%1.1f%%', wedgeprops={'edgecolor': 'black'}) title1 = get_display(arabic_reshaper.reshape(groupsP.iloc[0, 0])) ax1.set_title(title1) # Second pie chart slices = groupsP.iloc[1, :].tolist() labels = groupsP.columns[:].tolist() labelsCor = [get_display(arabic_reshaper.reshape(element)) for element in labels] ax2.pie(slices, labels=labelsCor, shadow=False, startangle=45, autopct='%1.1f%%', wedgeprops={'edgecolor': 'black'}) title2 = get_display(arabic_reshaper.reshape(groupsP.iloc[1, 0])) ax2.set_title(title2) # Third pie chart slices = groupsP.iloc[2, :].tolist() labels = groupsP.columns[:].tolist() labelsCor = [get_display(arabic_reshaper.reshape(element)) for element in labels] ax3.pie(slices, labels=labelsCor, shadow=False, startangle=45, autopct='%1.1f%%', wedgeprops={'edgecolor': 'black'}) title3 = get_display(arabic_reshaper.reshape(groupsP.iloc[2, 0])) ax3.set_title(title3) # Fourth pie chart slices = groupsP.iloc[3, :].tolist() labels = groupsP.columns[:].tolist() labelsCor = [get_display(arabic_reshaper.reshape(element)) for element in labels] ax4.pie(slices, labels=labelsCor, shadow=False, startangle=45, autopct='%1.1f%%', wedgeprops={'edgecolor': 'black'}) title4 = get_display(arabic_reshaper.reshape(groupsP.iloc[3, 0])) ax4.set_title(title4) الشكل 3.53: إنشاء أربعة مخططات دائرية تحتوي مكتبة مات بلوت ليب على مجموعة كبيرة من الإعدادات لتصميم مخطط أو رسم بياني. يمكنك زيارة موقع المكتبة الإلكتروني http://matplotlib.org للاطلاع على تفاصيل كافة إعداداتها. وزارة التعليم Ministry of Education 2025 - 1447 --- VISUAL CONTEXT --- **CHART**: إنشاء أربعة مخططات دائرية Description: A 2x2 grid containing four distinct pie charts. Each pie chart appears to represent different data slices, indicated by varying colors and proportions. The code suggests each chart is generated independently using slices and labels derived from 'groupsP'. The 'edgecolor' is set to 'black' for all charts, meaning the borders between slices are black. X-axis: Not applicable Y-axis: Not applicable Data: Each pie chart is composed of multiple slices representing proportions of a whole. The exact data values (percentages or counts) are not directly visible on the chart itself but are generated by the Python code. Context: Demonstrates how to create multiple pie charts on a single figure using Python's Matplotlib library, with each chart potentially representing different datasets or categories.

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

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

ما الغرض من استخدام الدالة `plt.subplots(2, 2)` في مكتبة Matplotlib كما ورد في المثال؟

  • أ) تحديد حجم الخطوط والعناوين في الرسم البياني.
  • ب) إنشاء شبكة من الرسوم البيانية الفرعية (subplots) بحجم 2 صفوف و2 أعمدة.
  • ج) تغيير لون خلفية الرسم البياني إلى اللون الأسود.
  • د) تصدير الرسم البياني إلى صورة بصيغة PNG.

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

الإجابة: إنشاء شبكة من الرسوم البيانية الفرعية (subplots) بحجم 2 صفوف و2 أعمدة.

الشرح: 1. الدالة `plt.subplots()` تستخدم لإنشاء شكل (Figure) ومجموعة من المحاور (Axes). 2. الوسيطتان (2, 2) تحددان عدد الصفوف والأعمدة في الشبكة. 3. النتيجة هي شكل واحد يحتوي على 4 رسوم بيانية فرعية مرتبة في شبكة 2×2.

تلميح: فكر في كيفية تنظيم عدة رسوم بيانية في شكل واحد.

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

ما وظيفة الوسيطة `autopct='%1.1f%%'` في دالة `ax.pie()` عند إنشاء مخطط دائري في Matplotlib؟

  • أ) تحديد لون الحدود بين قطع المخطط الدائري.
  • ب) تدوير المخطط الدائري بزاوية 45 درجة عند البدء.
  • ج) عرض النسبة المئوية لكل قطعة (slice) في المخطط الدائري، مع تحديد تنسيق العرض (رقم عشري واحد).
  • د) إضافة تأثير ظل (shadow) خلف المخطط الدائري.

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

الإجابة: عرض النسبة المئوية لكل قطعة (slice) في المخطط الدائري، مع تحديد تنسيق العرض (رقم عشري واحد).

الشرح: 1. الوسيطة `autopct` تتحكم في عرض النسب المئوية على المخطط الدائري. 2. القيمة `'%1.1f%%'` هي سلسلة تنسيق (format string). 3. `%1.1f` تعني عرض رقم عشري بمنزلة عشرية واحدة. 4. الرمز `%%` النهائي يطبع علامة النسبة المئوية (%) بعد الرقم.

تلميح: ما الذي يظهر داخل أو بجانب كل قطعة من المخطط الدائري؟

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

ما الغرض من الوسيطة `wedgeprops={'edgecolor': 'black'}` في دالة `ax.pie()`؟

  • أ) تحديد حجم الخط المستخدم لعرض النسب المئوية.
  • ب) تحديد خصائص قطع (wedges) المخطط الدائري، مثل جعل لون حواف القطع أسود.
  • ج) إخفاء العناوين (labels) الخاصة بقطع المخطط الدائري.
  • د) تغيير شكل المخطط الدائري إلى شكل بيضاوي.

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

الإجابة: تحديد خصائص قطع (wedges) المخطط الدائري، مثل جعل لون حواف القطع أسود.

الشرح: 1. الوسيطة `wedgeprops` تسمح بتخصيص الخصائص المرئية لقطع المخطط الدائري (الأسافين). 2. يتم تمرير قاموس (dictionary) يحتوي على إعدادات الخصائص. 3. المفتاح `'edgecolor'` يحدد لون حافة كل قطعة. 4. القيمة `'black'` تجعل لون هذه الحواف أسود، مما يزيد من وضوح الفصل بين القطع.

تلميح: فكر في كيفية تخصيص مظهر الحدود الفاصلة بين أجزاء الدائرة.

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