Matplotlib

مقدمة إلى مكتبة Matplotlib في Python

تُعد مكتبة Matplotlib واحدة من أهم المكتبات في Python المستخدمة لإنشاء الرسوم البيانية والمخططات. تعتبر هذه المكتبة أداة قوية ومرنة تتيح للمطورين عرض وتحليل البيانات بطريقة بصرية، مما يسهل من فهم المعلومات المعقدة واكتشاف الأنماط والاتجاهات. تستخدم Matplotlib في مجموعة واسعة من التطبيقات مثل تحليل البيانات، التعلم الآلي، العلم التجريبي، وغيرها من المجالات التي تحتاج إلى عرض البيانات بشكل مرئي.

في هذا المقال، سنتناول مفهوم مكتبة Matplotlib، أهم ميزاتها، كيفية تثبيتها، أساسيات استخدامها، بالإضافة إلى أمثلة عملية لإنشاء مختلف أنواع الرسوم البيانية.

محتويات المقال:

  1. ما هي Matplotlib؟
  2. أهمية استخدام Matplotlib في عرض البيانات
  3. كيفية تثبيت واستخدام Matplotlib
  4. الأساسيات: إنشاء الرسوم البيانية البسيطة
  5. أنواع المخططات الأساسية في Matplotlib
  6. تخصيص الرسوم البيانية: الألوان، العناوين، والتسميات

1. ما هي Matplotlib؟

Matplotlib هي مكتبة مفتوحة المصدر في Python، تُستخدم لإنشاء الرسوم البيانية والمخططات بطريقة سهلة ومرنة. تحتوي Matplotlib على أدوات قوية لبناء جميع أنواع المخططات، مثل المخططات الخطية (Line Plots)، المخططات الشريطية (Bar Charts)، المخططات الدائرية (Pie Charts)، المخططات التفاعلية ثلاثية الأبعاد، وغيرها.

أهم مكونات Matplotlib:

  • pyplot: وحدة فرعية في Matplotlib توفر واجهة سهلة الاستخدام لبناء المخططات، وتستخدم بشكل واسع في إنشاء الرسوم البسيطة.
  • Figure: الكائن الأساسي الذي يمثل الرسم البياني، ويمكن أن يحتوي على أكثر من Axes.
  • Axes: جزء داخل Figure يحتوي على محورين (X و Y) ويتم رسم البيانات عليه.
  • Axis: يمثل المحور الأفقي أو العمودي داخل الرسم.

2. أهمية استخدام Matplotlib في عرض البيانات

1. تحسين الفهم وتحليل البيانات

تساعد الرسوم البيانية على تحويل الأرقام والبيانات إلى صور بصرية، مما يسهل استيعاب وفهم المعلومات المعقدة والأنماط الخفية في البيانات.

2. تسهيل عملية التواصل

تعد المخططات طريقة فعالة لتقديم المعلومات إلى الجمهور، حيث تساعد على توضيح الأفكار وتبسيطها خاصة في العروض التقديمية أو التقارير.

3. دعم القرارات

عند عرض البيانات على شكل مخططات ورسوم بيانية، يصبح من السهل اتخاذ قرارات مستندة إلى البيانات، خاصةً عند التعامل مع البيانات الكبيرة.

4. تكامل مع أدوات Python الأخرى

تتكامل Matplotlib مع مكتبات أخرى مثل Pandas وNumPy، مما يجعلها أداة قوية في تحليل البيانات العلمية أو المالية.


3. كيفية تثبيت واستخدام Matplotlib

يمكن تثبيت Matplotlib بسهولة باستخدام pip، وهي مدير الحزم في Python.

خطوات التثبيت:

pip install matplotlib
Bash

بمجرد تثبيت Matplotlib، يمكنك استيراد الوحدة الفرعية pyplot والبدء في إنشاء الرسوم البيانية:

import matplotlib.pyplot as plt
Python

4. الأساسيات: إنشاء الرسوم البيانية البسيطة

مثال على مخطط خطي بسيط:

يعد المخطط الخطي أحد أبسط أنواع المخططات في Matplotlib. يمكنك إنشاؤه باستخدام دالة plot() من وحدة pyplot.

import matplotlib.pyplot as plt

# بيانات بسيطة
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

# رسم مخطط خطي
plt.plot(x, y)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')
plt.show()
Python

في هذا المثال:

  • x و y تمثلان بيانات المحورين X و Y.
  • xlabel() و ylabel() تحددان التسميات لكل محور.
  • title() يضيف عنوان للرسم.
  • show() تعرض المخطط.

مثال على مخطط شريطي بسيط:

يمكن إنشاء المخطط الشريطي باستخدام دالة bar()، وهو مفيد لعرض البيانات التصنيفية أو المقارنة بين الفئات.

import matplotlib.pyplot as plt

# بيانات بسيطة
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 30]

# رسم مخطط شريطي
plt.bar(categories, values)
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Simple Bar Chart')
plt.show()
Python

في هذا المثال:

  • categories تمثل أسماء الفئات على المحور X.
  • values تمثل القيم المرتبطة بكل فئة.
  • bar() تنشئ مخططًا شريطيًا.

5. أنواع المخططات الأساسية في Matplotlib

1. المخطط الخطي (Line Plot):

يستخدم لتمثيل البيانات المتغيرة بمرور الزمن أو لمتابعة اتجاه معين.

plt.plot(x, y)
Python

2. المخطط الشريطي (Bar Chart):

يُستخدم لتمثيل المقارنات بين الفئات.

plt.bar(categories, values)
Python

3. المخطط الدائري (Pie Chart):

يُستخدم لتوضيح النسب أو الحصص المئوية بين مكونات معينة.

plt.pie(values, labels=categories, autopct='%1.1f%%')
plt.show()
Python

4. المخطط النقطي (Scatter Plot):

يُستخدم لتوضيح العلاقة بين متغيرين عبر نقاط منفردة.

plt.scatter(x, y)
Python

5. المخطط التفاعلي ثلاثي الأبعاد (3D Plot):

يُستخدم لعرض البيانات ثلاثية الأبعاد، ويتطلب إضافة وحدة mpl_toolkits.mplot3d.

from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z)
plt.show()
Python

6. تخصيص الرسوم البيانية في Matplotlib: الألوان، العناوين، والتسميات

بعد إنشاء الرسم البياني الأساسي، يمكن تخصيصه ليبدو أكثر وضوحًا وجاذبية عبر Matplotlib. يتيح لك المكتبة تخصيص الألوان، أنماط الخطوط، إضافة العناوين، تسميات المحاور، وتوضيح القيم، مما يعزز من مظهر الرسوم ويسهل فهم البيانات.

1. تخصيص الألوان (Colors)

يمكن تغيير ألوان الخطوط أو الأشرطة بسهولة باستخدام وسيط color في دوال الرسم. كما يمكن تخصيص الألوان لكل فئة باستخدام قائمة ألوان.

مثال على تغيير ألوان الخطوط والأشرطة:
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 18, 22]

# تخصيص اللون لمخطط خطي
plt.plot(x, y, color='purple', linewidth=2, linestyle='--')
plt.title("Customized Line Plot")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.show()
Python

في هذا المثال:

  • color يستخدم لتغيير لون الخط إلى اللون البنفسجي.
  • linewidth يتحكم في سمك الخط.
  • linestyle يغير نمط الخط إلى نمط متقطع.

2. إضافة العناوين والتسميات للمحاور

العناوين والتسميات تساعد على فهم محتوى الرسم بشكل أسرع. يمكن استخدام title() وxlabel() وylabel() لتحديد العناوين والتسميات.

مثال على إضافة عناوين وتحديد تسميات للمحاور:
plt.plot(x, y)
plt.title("Example Plot Title")  # عنوان الرسم
plt.xlabel("X-axis Label")       # تسمية المحور X
plt.ylabel("Y-axis Label")       # تسمية المحور Y
plt.show()
Python

3. إضافة الشبكات (Grids)

يمكنك استخدام grid() لإضافة شبكة إلى الرسم، مما يسهل قراءة البيانات.

plt.plot(x, y)
plt.grid(True)
plt.show()
Python

4. إضافة التوضيحات (Annotations) إلى الرسم

التوضيحات تُستخدم لتوضيح نقاط معينة في الرسم. يمكن إضافتها باستخدام annotate().

مثال على إضافة توضيح لنقطة معينة:
plt.plot(x, y)
plt.annotate("Highest Point", xy=(4, 18), xytext=(3, 19),
             arrowprops=dict(facecolor='black', shrink=0.05))
plt.show()
Python

في هذا المثال:

  • annotate() يضيف نصًا بجانب النقطة، مع سهم يشير إليها.

7. استخدام Subplots لإنشاء عدة رسوم بيانية في واجهة واحدة

يمكنك استخدام subplots() لإنشاء عدة رسوم بيانية في نفس الواجهة. هذا مفيد عندما تريد عرض بيانات متعددة في وقت واحد لتسهيل المقارنة.

مثال على استخدام Subplots:
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [10, 15, 13, 18, 22]
y2 = [5, 10, 8, 12, 18]

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))

# الرسم البياني الأول
ax1.plot(x, y1, color='blue')
ax1.set_title("Plot 1")
ax1.set_xlabel("X-axis")
ax1.set_ylabel("Y-axis")

# الرسم البياني الثاني
ax2.plot(x, y2, color='green')
ax2.set_title("Plot 2")
ax2.set_xlabel("X-axis")
ax2.set_ylabel("Y-axis")

plt.show()
Python

في هذا المثال:

  • تم تقسيم الواجهة إلى رسمين بيانيين أفقيين باستخدام subplots().
  • يمكن تخصيص كل رسم بشكل منفصل باستخدام ax1 وax2.

8. حفظ الرسوم البيانية كصور

يمكنك حفظ الرسوم البيانية الناتجة كملفات صور بسهولة باستخدام savefig()، مما يتيح لك استخدامها في تقارير أو عروض تقديمية.

مثال على حفظ الرسم كصورة:
plt.plot(x, y, color='purple')
plt.title("Saved Plot Example")
plt.savefig("my_plot.png", dpi=300)  # حفظ الصورة بدقة عالية
plt.show()
Python

في هذا المثال:

  • savefig() يحفظ الرسم كصورة بصيغة PNG.
  • dpi يحدد دقة الصورة، ويمكن ضبطه حسب الحاجة.

الأسئلة الشائعة (FAQ)

1. ما هي مكتبة Matplotlib؟
Matplotlib هي مكتبة Python تُستخدم لإنشاء الرسوم البيانية، وتوفر أدوات مرنة لعرض البيانات بشكل مرئي.

2. كيف يمكن تثبيت Matplotlib؟
يمكن تثبيت Matplotlib عبر الأمر:

pip install matplotlib
Bash

3. ما هي أنواع المخططات التي يمكن إنشاؤها باستخدام Matplotlib؟
يمكنك إنشاء العديد من المخططات مثل المخططات الخطية، الشريطية، الدائرية، النقطية، ثلاثية الأبعاد، وغيرها.

4. كيف يمكن تخصيص الرسوم البيانية في Matplotlib؟
يمكن تخصيص الرسوم بإضافة ألوان، أنماط خطوط، عناوين، شبكات، توضيحات، أو تقسيم الواجهة باستخدام subplots().


روابط مفيدة للقراءة:


بهذا نكون قد استعرضنا كيفية استخدام Matplotlib لإنشاء الرسوم البيانية، وأساسيات تخصيص الرسوم لتبدو أكثر جاذبية وسهولة في الفهم. تعتبر Matplotlib أداة أساسية لأي مبرمج أو عالم بيانات يرغب في تحليل وعرض البيانات بشكل بصري.

اترك ردّاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *