حول المحتوى:
تعرف على مكتبة Matplotlib، الأداة القوية لتصوير البيانات في بايثون. استكشف كيفية تثبيتها، إنشاء الرسوم البيانية، التعامل مع البيانات المعقدة، وأفضل الممارسات لتحسين جودة عروضك البصرية.
هل تساءلت يومًا كيف يمكن لمطورين وعلماء البيانات تحويل الأرقام والبيانات الجافة إلى رسوم بيانية غنية بالألوان والتفاصيل؟ هنا يأتي دور مكتبة Matplotlib، الأداة التي تعتبر حجر الأساس في عالم تصوير البيانات باستخدام لغة البرمجة بايثون.
تصور أنك تعمل على مشروع لتحليل مبيعات أو تتبع أداء تجربة علمية، وترغب في تقديم بياناتك بطريقة تسهل فهمها واتخاذ القرارات بناءً عليها. الرسم البياني المناسب يمكنه أن يختصر مئات السطور من البيانات في لمحة بصرية واحدة. Matplotlib تجعل هذا ممكنًا بكل سهولة وسلاسة.
من الرسوم الخطية البسيطة إلى المخططات ثلاثية الأبعاد، ومن الرسوم البيانية الدائرية إلى الخرائط الحرارية (heatmaps)، تقدم Matplotlib مجموعة واسعة من الأدوات التي تناسب احتياجاتك مهما كان نوع البيانات أو المشروع.
ما يميز Matplotlib أنها ليست فقط مكتبة قوية ومتكاملة، بل هي أيضًا سهلة الاستخدام للمبتدئين ومرنة للمحترفين. إنها تسمح لك بتخصيص كل عنصر في الرسم البياني: من الألوان والخطوط إلى المحاور والعناوين، لتضمن أن بياناتك تعرض بالشكل المثالي الذي يعكس رسالتك.
في هذا المقال، سنستعرض كيف يمكنك استخدام Matplotlib لتحويل أفكارك وبياناتك إلى قصص بصرية جذابة، خطوة بخطوة، حتى تصل إلى مستوى الاحتراف. استعد للغوص في عالم الإبداع البصري مع Python وMatplotlib!
للبدء باستخدام مكتبة Matplotlib، يجب أولاً تثبيتها على جهازك، ثم إعداد البيئة البرمجية الخاصة بك لتكون جاهزة لإنشاء الرسوم البيانية. في هذا القسم، سنوضح الخطوات الأساسية لفعل ذلك.
إذا كنت تستخدم بيئة Python مُعدة مسبقًا، مثل Anaconda، فقد تكون المكتبة مثبتة بالفعل. أما إذا لم تكن مثبتة، فيمكنك تثبيتها بسهولة باستخدام مدير الحزم pip
.
افتح سطر الأوامر (Command Prompt أو Terminal) وأدخل الأمر التالي:
$ pip install matplotlib
سيقوم هذا الأمر بتنزيل المكتبة وتثبيتها على نظامك. إذا كنت تعمل على مشروع يتطلب إصدارًا محددًا من المكتبة، يمكنك تحديد الإصدار المطلوب، مثل:
$ pip install matplotlib==3.5.3
للتحقق من نجاح التثبيت، افتح واجهة Python (مثل Jupyter Notebook أو Python Shell) واكتب:
import matplotlib
print(matplotlib.__version__)
إذا تم عرض رقم الإصدار بدون أخطاء، فهذا يعني أن المكتبة جاهزة للاستخدام.
للبدء في استخدام Matplotlib، ستحتاج إلى استيرادها في مشروعك. غالبًا ما يُستخدم الاسم المختصر plt
لتسهيل التعامل مع المكتبة.
قم بكتابة الكود التالي في ملف Python أو داخل Jupyter Notebook:
import matplotlib.pyplot as plt
يمكنك الآن إنشاء رسومات بيانية بسيطة باستخدام بيانات تجريبية. جرب إنشاء رسم خطي باستخدام الكود التالي:
# استيراد المكتبة
import matplotlib.pyplot as plt
# بيانات التجربة
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# رسم بياني خطي
plt.plot(x, y)
plt.title("رسم بياني خطي")
plt.xlabel("المحور السيني")
plt.ylabel("المحور الصادي")
plt.show()
Jupyter Notebook:
عند استخدام Jupyter Notebook، يمكن استخدام سطر خاص لتفعيل الرسوم البيانية داخل نفس الخلية:
%matplotlib inline
PyCharm أو Visual Studio Code:
إذا كنت تعمل في إحدى هذه البيئات، تأكد من إعداد البيئة الافتراضية لتضمين المكتبة بعد التثبيت.
مع نمو البيانات وتعقد التحليلات، قد تحتاج إلى إنشاء رسوم بيانية متعددة ضمن نفس النافذة أو الانتقال إلى الأبعاد الثلاثية لتوضيح العلاقات. مكتبة Matplotlib تقدم أدوات فعّالة لتلبية هذه الاحتياجات. في هذا القسم، سنستعرض كيفية استخدام Subplots لإنشاء رسوم متعددة، وكذلك كيفية إنشاء مخططات ثلاثية الأبعاد.
Subplots تُستخدم عندما ترغب في عرض أكثر من رسم بياني في نافذة واحدة، سواء في صف واحد، عمود واحد، أو شبكة متعددة الصفوف والأعمدة.
مثال بسيط على Subplots:
لنقم بإنشاء نافذة تحتوي على رسومات بيانية لخطوط (Line Plots) مختلفة:
import matplotlib.pyplot as plt
# إعداد الرسومات في شبكة 1x2
fig, axs = plt.subplots(1, 2, figsize=(10, 5))
# الرسم الأول
x1 = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
axs[0].plot(x1, y1, color='blue', linestyle='-', marker='o')
axs[0].set_title('الرسم الأول')
axs[0].set_xlabel('المحور السيني')
axs[0].set_ylabel('المحور الصادي')
# الرسم الثاني
x2 = [1, 2, 3, 4, 5]
y2 = [1, 4, 9, 16, 25]
axs[1].plot(x2, y2, color='red', linestyle='--', marker='x')
axs[1].set_title('الرسم الثاني')
axs[1].set_xlabel('المحور السيني')
axs[1].set_ylabel('المحور الصادي')
# ضبط التباعد بين الرسوم
plt.tight_layout()
plt.show()
شرح الكود:
plt.subplots(1, 2)
: يحدد شبكة من صف واحد وعمودين.axs[0]
وaxs[1]
: الوصول إلى كل رسم بياني بشكل منفصل.figsize=(10, 5)
: تحديد حجم النافذة الكاملة.لإنشاء مخططات ثلاثية الأبعاد، نستخدم وحدة mpl_toolkits.mplot3d
التي تأتي مع Matplotlib. يمكننا إنشاء أنواع مختلفة من الرسومات ثلاثية الأبعاد مثل الرسوم الخطية، الأسطح، أو النقاط.
مثال على رسم خطي ثلاثي الأبعاد:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
# إنشاء بيانات ثلاثية الأبعاد
x = np.linspace(-5, 5, 100)
y = np.sin(x)
z = np.cos(x)
# إعداد الرسم ثلاثي الأبعاد
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')
# رسم خط ثلاثي الأبعاد
ax.plot(x, y, z, label='خط ثلاثي الأبعاد', color='green')
ax.set_title('رسم ثلاثي الأبعاد')
ax.set_xlabel('المحور X')
ax.set_ylabel('المحور Y')
ax.set_zlabel('المحور Z')
ax.legend()
plt.show()
مثال على رسم سطح ثلاثي الأبعاد:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
# إنشاء بيانات السطح
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = np.sin(np.sqrt(x**2 + y**2))
# إعداد الرسم ثلاثي الأبعاد
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')
# رسم السطح
surf = ax.plot_surface(x, y, z, cmap='viridis')
ax.set_title('سطح ثلاثي الأبعاد')
ax.set_xlabel('المحور X')
ax.set_ylabel('المحور Y')
ax.set_zlabel('المحور Z')
# إضافة شريط ألوان
fig.colorbar(surf, ax=ax, shrink=0.5, aspect=10)
plt.show()
لضمان إنشاء رسوم بيانية واضحة ومهنية باستخدام مكتبة Matplotlib، من المهم اتباع مجموعة من أفضل الممارسات. هذه النصائح تساعد في تجنب الأخطاء الشائعة وتحسين تجربة المستخدم مع البيانات المعروضة.
set_title()
وset_xlabel()
وset_ylabel()
.plt.title("أداء المبيعات خلال 2023")
plt.xlabel("الأشهر")
plt.ylabel("الإيرادات (بالآلاف)")
cmap
للوحات ألوان مميزة.linewidth
وmarker
.مثال:
plt.plot(x, y, color='blue', linestyle='--', marker='o', linewidth=2)
tight_layout
plt.tight_layout()
لضبط المسافات بين الرسوم والمحاور تلقائيًا، خاصة عند العمل مع Subplots.loc
.مثال:
plt.legend(["خط المبيعات", "خط الأرباح"], loc='upper right')
figsize
لتحديد حجم الرسم البياني، خاصة عند العمل مع تقارير أو شاشات عرض كبيرة.dpi
مع savefig
.مثال:
plt.savefig("chart.png", dpi=300)
import matplotlib.pyplot as plt
# بيانات العينة
months = ["Jan", "Feb", "Mar", "Apr", "May"]
sales = [120, 150, 170, 160, 180]
profits = [30, 50, 60, 55, 70]
# إعداد الرسم
plt.figure(figsize=(10, 6))
plt.plot(months, sales, label="المبيعات", color="blue", marker="o", linewidth=2)
plt.plot(months, profits, label="الأرباح", color="green", linestyle="--", marker="s", linewidth=2)
# تخصيص الرسم
plt.title("أداء المبيعات والأرباح خلال 2023", fontsize=14, fontweight="bold")
plt.xlabel("الأشهر", fontsize=12)
plt.ylabel("القيمة (بالآلاف)", fontsize=12)
plt.grid(True, linestyle="--", alpha=0.5)
plt.legend(loc="upper left")
plt.tight_layout()
# حفظ الرسم
plt.savefig("sales_performance.png", dpi=300)
# عرض الرسم
plt.show()
تُعد مكتبة Matplotlib واحدة من الأدوات الأساسية في عالم البرمجة مع بايثون لتحليل البيانات وتصويرها. بفضل مرونتها وسهولة استخدامها، يمكنك إنشاء رسوم بيانية احترافية تلبي احتياجاتك، سواء كنت مبتدئًا تسعى لفهم الأساسيات أو محترفًا يتعامل مع مشاريع معقدة. من خلال الالتزام بأفضل الممارسات التي تناولناها، يمكنك تحسين جودة عروضك البصرية وجعل بياناتك أكثر وضوحًا وتأثيرًا.
سواء كنت تصمم رسومًا بيانية لتقارير الأعمال، أو لعرض نتائج علمية، أو حتى لاستكشاف بياناتك، فإن Matplotlib هي الخيار الأمثل الذي يجمع بين القوة والمرونة. ابدأ باستخدامها اليوم وأضف لمسة من الاحترافية إلى مشاريعك!
تعرف على مكتبة Matplotlib، الأداة القوية لتصوير البيانات في بايثون. استكشف كيفية تثبيتها، إنشاء الرسوم البيانية، التعامل مع البيانات المعقدة، وأفضل الممارسات لتحسين جودة عروضك البصرية.
مساحة اعلانية
المكتبات في بايثون هي مجموعات من الوحدات والحزم التي توفر أكواد مكتوبة مسبقًا لتنفيذ مهام مختلفة. تساعد في تبسيط عملية البرمجة من خلال توفير دوال وفئات قابلة لإعادة الاستخدام لوظائف محددة، مثل تحليل البيانات، تعلم الآلة، تطوير الويب، والمزيد.
لدى بايثون عدد هائل من المكتبات، مع أكثر من 500,000 حزمة متاحة في فهرس حزم بايثون (PyPI). يستمر هذا العدد في النمو مع تطوير مجتمع بايثون لمكتبات جديدة لتطبيقات متنوعة.