مقدمة إلى Matplotlib في بايثون

Matplotlib هي مكتبة لتخطيط Python يستخدمها خبراء التعلم الآلي في الغالب لإنشاء تصورات ثابتة وتفاعلية.

ما هو Matplotlib

Mathplotlib هو من ابتكار John D. Hunter في عام 2003 وتم إصداره في 8 مايو 2021 ولديه الإصدار الحالي 3.4.2.

تمت كتابة هذه المكتبة بشكل رئيسي بلغة Python ، بينما تمت كتابة الباقي بلغة C Object و JavaScript ، مما يجعلها متوافقة مع النظام الأساسي.

يستخدم Matplotlib NumPy ، وهو امتداد رقمي لـ Python. يضيف امتداده مع NumPy قابليته للتطبيق كبديل مفتوح المصدر ويجعله أفضل من MATLAB.

بالنسبة لتطبيقات Python GUI ، يسمح Matplotlib بتخطيط المؤامرات الثابتة عليها باستخدام واجهة برمجة التطبيقات الموجهة للكائنات التي تأتي معها.

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

يمكنك استخدام Matplotlib لإنشاء مخططات في البيئات بما في ذلك Python shell و Jupyterebook و
Jupyter lab وأيضًا باستخدام Pycharm أو Anaconda وعلى خوادم تطبيقات الويب مثل Flask و Django عبر منصات مختلفة.

كما هو الحال في MATLAB ، يمكنك التحكم على نطاق واسع في المؤامرات من حيث الخطوط والخطوط والألوان والأنماط.

بعد المقدمة الموجزة لمكتبة Matplotib في Python ، دعنا نرى كيف يمكننا إعدادها في أنظمتنا.

إعداد بيئة Matplotlib

مثل أي حزمة ومكتبة Python أخرى ، يمكنك تثبيت مكتبة Matplotlib المجمعة مسبقًا وحزمها عبر جميع أنظمة التشغيل باستخدام مدير حزمة pip.

بالطبع ، يتطلب منك تثبيت Python وحزمة النقطة على نظامك أولاً.

تعرض الأوامر التالية إصدار Python و pip لتأكيد ما إذا كانت هذه الأدوات مثبتة بالفعل.

تحقق من تثبيت Python

Python --version

تحقق مما إذا تم تثبيت النقطة

pip -V

قم بتثبيت Mathplotlib

يقوم الأمر أدناه بتثبيت حزمة Matplotlib من Python Package Index (PyPI).

python -m pip install matplotlib

يقوم هذا الأمر بتنزيل الحزم ذات الصلة من Matplotlib وتثبيتها. من المفترض أن ترى رسالة تثبيت ناجح بعد اكتمال التثبيت.

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

import matplotlib
matplotlib.__version__

يجب أن يتمتع المطورون الذين يرغبون في تثبيت حزمة Matplotlib غير المجمعة بإمكانية الوصول إلى المترجم الصحيح في نظامهم ، بالإضافة إلى التبعيات ونصوص الإعداد وملفات التكوين والتصحيحات.

ومع ذلك ، قد يكون تثبيت Matplolib المحدد هذا معقدًا ، خاصة بالنسبة لمستخدمي Matplotlib المبتدئين. لذلك ، لماذا لا تستخدم مجرد أمر من سطر واحد لتثبيت المكتبة في ثوانٍ؟

بعد تثبيت Matplotlib ، قم باستيراد الحزمة إلى بيئتك للوصول إلى أدواتها المساعدة.

خيارات الرسم Matplotlib

يوفر Matplotlib العديد من خيارات الرسم لتصور البيانات. كما يسمح بتخصيص المؤامرات من خلال توفير سمات وألوان وخيارات لوح ألوان مختلفة يمكن للمستخدم استخدامها لمعالجة المؤامرات.

تشمل خيارات التخطيط هذه:

# 1. الرسوم البيانية

تعد المخططات الشريطية ، المعروفة باسم الرسوم البيانية الشريطية ، خيارًا مناسبًا لتصور مقارنة كمية للقيم ضمن نفس الفئة.

يمثل Matplotlib هذه المؤامرة باستخدام قضبان مستطيلة حيث تمثل أطوالها وارتفاعاتها قيمها النسبية. يمكن أن تكون الأشرطة أفقية أو رأسية.

  كيف (ولماذا!) إنشاء موقع مرحلي لـ WordPress؟

يستخدم Matplotlib وظيفة plt.bar () الخاصة به لإنشاء مخطط الشريط.

بالإضافة إلى ذلك ، يمكنك استخدام المزيد من الوظائف لمعالجة هذه المؤامرة. على سبيل المثال ، تسمي الدالتان plt.xlabel () و plt.ylabel () محوري الرسم البياني x و y ، على التوالي.

تسمح لك وظيفة plt.title () أيضًا بإعطاء عنوان لمخططك ، بينما تحفظ الوظيفة plt.savefig () المؤامرة. تعرض الوظيفة plot.show () ، وهي الأهم ، المؤامرة.

# 2. مؤامرات الفطيرة

يمكنك تصور التوزيع النسبي للعناصر داخل نفس الفئة باستخدام مخطط إحصائي دائري نسميه المخططات الدائرية.

تعرض المخططات الدائرية البيانات في شكل نسبة مئوية. تتوافق مساحة المخطط بالكامل مع النسبة المئوية للبيانات بالكامل ، بينما تمثل الشرائح الدائرية الفردية أقسامًا من النسبة المئوية للبيانات.

يستخدم Matplotlib وظيفة plt.pie () التي ترسم وتضبط معلمات المخطط الدائري.
المزيد من المعلمات مثل autopct التي تطبع قيمة المخطط الدائري حتى منزلة عشرية واحدة مفيدة في رسم المخططات الدائرية.

تجد مؤسسات الأعمال المخططات الدائرية مفيدة في تقديم المعلومات ذات الصلة مثل العمليات أو المبيعات أو الموارد.

# 3. الرسم البياني

يعرض الرسم البياني توزيع البيانات الرقمية. يستخدم فواصل زمنية مستمرة لتقسيم البيانات إلى أقسام مميزة.

يتمثل الاختلاف الرئيسي بين الرسم البياني ومخطط الشريط في نوع البيانات التي يتعاملون معها. بينما تتعامل الرسوم البيانية مع نوع البيانات المستمر ، تعالج مخططات الشريط البيانات الفئوية بدلاً من ذلك.

يستخدم Matplotlib وظيفة Hist () التي تستخدم مجموعة من القيم العشوائية أو المحددة لإنشاء المدرج التكراري.

# 4. قطع الخط

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

تعتبر مخططات الخط مهمة في تتبع تغيير قيم البيانات على مدار بعض الوقت.

# 5. المؤامرات المبعثرة

تشير المخططات المبعثرة إلى العلاقة ، بما في ذلك الارتباط بين المتغيرات في البيانات. كما أنه مفيد في تحديد القيم المتطرفة.

تستخدم مخططات التبعثر النقاط لتمثيل علاقة متغيرات البيانات وكيف يمكن للتغيير في متغير واحد أن يؤثر على متغير آخر.

كيفية إنشاء قطع الأراضي في Matplotlib

يستخدم Matplotlib وظائف مختلفة لإنشاء قطع أرض مختلفة. كما أنه يستخدم عددًا قليلاً جدًا من أسطر التعليمات البرمجية لإنشاء المؤامرة.

أدناه نرى كيفية إنشاء خيارات المؤامرة المختلفة باستخدام وظائف مختلفة في Matplotlib.

# 1. مؤامرة شريط في Matplotlib

تعرض المخططات الشريطية ، كما هو موضح أعلاه ، فئات البيانات باستخدام الأشرطة والمحاور التي تمثل مقارنة بين الفئات على محور واحد والقيم المقابلة للفئات على المحور الآخر.

تأخذ وظيفة bar () في Matplotlib تخطيطات وسيطة مختلفة لوصف تخطيط الأشرطة ، كما هو موضح أدناه.

plt.bar(x, y, height, width, bottom, align)

تمثل معلمات x و y قيم إحداثيات x وقيم إحداثيات y للشريط في الرسم البياني. تمثل معلمة العرض عرض الشريط ، بينما تمثل معلمة الارتفاع ارتفاع الشريط.

على سبيل المثال ، دعونا نمثل عدد الكلاب والقطط في مأوى للحيوانات يسمى x.

import matplotlib.pyplot as plt
import numpy as np

x = ["Cats", "Dogs"]
plt.xlabel("Cats and Dogs in Shelter")
plt.ylabel("No. of animals in Shelter")
plt.title("Number of cats and dogs in shelter x")
y = [300, 350]
plt.bar(x, y, color="black", width = 0.5)

انتاج:

إخراج قطعة الأرض في Mathplotlib

كما في المثال أعلاه ، يمكنك تحديد لون الأشرطة بشكل أكبر باستخدام سمة اللون. علاوة على ذلك ، يقوم plt.xlabel و p.ylabel بتسمية محوري x و y على التوالي بينما يقوم عنوان plt بتسمية قطعة الأرض.

# 2. كيفية إنشاء مخطط فطيرة

يستخدم Matplotlib الدالة pie () التي تأتي مع وحدة pyplot لرسم مخطط دائري.
تمثل الوظيفة البيانات المطلوب رسمها في شكل صفيف.

بناء الجملة:

matplotlib.pyplot.pie(data, explode=None, labels=None, colors=None, autopct=None, shadow=False)

تحدد معلمة الألوان لون الشرائح الدائرية. يمكنك استخدام مصفوفة من القيم لتحديد لون لكل شريحة.

  إصلاح رمز الخطأ Beaver in Destiny

لتضمين تفاصيل كل شريحة في الكعكة بشكل أكبر ، تضيف وسيطة autopct النسب المئوية العددية التي تمثلها كل شريحة باستخدام تدوين تنسيق سلسلة Python. يقبل الانفجار كوسيطة مصفوفة من القيم تبدأ من 0.1 لتحديد مسافة الشريحة من مركز الكعكة.

دعنا نرسم مخططًا دائريًا يعرض الموارد بالنسبة المئوية المخصصة لمشروع معين.

import matplotlib.pyplot as plt
import numpy as np

y = np.array([25, 10, 45, 20])
mylabels = ["w", "x", "y", "z"]
explodevalues = [0.1, 0.2, 0, 0]
colors = ['tab:blue', 'tab:green', 'tab:orange', 'tab:red']
plt.title("Resources allocated for a random project")
plt.pie(y, labels = mylabels, colors=colors,explode = explodevalues, autopct="%1.1f%%", shadow = True)
plt.show() 

انتاج:

إخراج مخطط الفطيرة في Mathplotlib

يعرض الرسم أعلاه مخططًا دائريًا به أربع شرائح معنونة w و x و y و z على التوالي. تحدد قيم الانفجار مدى المسافة التي ستوضع بها الشرائح عن مركز الفطيرة.

من الرسم البياني أعلاه ، x أبعد لأن قيمة انفجارها أكبر من الباقي. تضيف خاصية الظل ظلًا إلى الرسم الدائري كما هو الحال في الصورة بينما تقوم خاصية autopct بتعيين النسبة المئوية النسبية للدائرة بأكملها التي تمثلها كل شريحة.

# 3. إنشاء مخطط الرسم البياني

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

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

تتضمن هذه الخطوات:

  • قم بإنشاء حاوية نطاقات من مجموعة قيم البيانات لديك. يمكنك استخدام الدالة np.random.normal () التي يمكن أن تولد قيمًا عشوائية لك.
  • باستخدام سلسلة من الفواصل الزمنية ، وزع القيم في نطاق من القيم.
  • احسب القيم التي تقع ضمن كل فترة زمنية معينة.
  • الآن استخدم دالة matplotlib.pyplot.hist () لإنشاء المدرج التكراري.
  • تأخذ وظيفة Hist () عدة معاملات ، بما في ذلك:

    x – يمثل هذا تسلسل الصفيف

    السلال – هذه معلمة اختيارية تمثل فترات غير متداخلة من المتغيرات التي قد تحتوي على أعداد صحيحة أو تسلسل سلسلة.

    النطاق – يحدد النطاق العلوي والسفلي للصناديق

    محاذاة – تتحكم هذه المعلمة في محاذاة المدرج التكراري. سواء اليسار أو اليمين أو الوسط.

    اللون – يحدد لون الأشرطة.

    rwidth – يضبط العرض النسبي للأشرطة في الرسم البياني على عرض الحاوية.

    سجل – يحدد معلمة السجل مقياسًا لوغاريتميًا على محور المدرج التكراري.

    المثال التالي يرسم مدرج تكراري مع القيم المحددة.

    from matplotlib import pyplot as plt
    
    x = [22, 40, 87, 5, 43, 30, 56,73, 55, 54, 11, 20, 51, 5,  50, 60, 70, 80]
    
    plt.hist(x)
    plt.title(Histogram plot example')
    plt.xlabel('x axis')
    plt.ylabel('frequency')
    plt.show()
    

    انتاج:

    ناتج الرسم البياني في Mathplotlib

    # 4. مؤامرة الخط في Matplotlib

    يستخدم Matplotlib مكتبته الفرعية المسماة pyplot ، والتي تأتي مع وظائف مختلفة تساعد في تنفيذها.

    نستخدم الدالة plot () ، وهي وظيفة عامة تأتي مع pyplot لرسم مخططات الخط وأنواع أخرى مختلفة من مخططات الخطوط ، بما في ذلك المخططات المنحنية ومخططات الخطوط المتعددة. يعتمد إنشاء هذه الأنواع المختلفة من المخططات على القيم التي تمررها إلى المحور ص.

    عند التخطيط ، قم باستيراد matplotlib.pyplot و Numpy ، اللذين يرسمان المخططات. تقوم طريقة الرسم (x ، y) بإنشاء مخطط الخط عن طريق تمرير قيم عشوائية إلى الوسيطتين x و y.

    بالإضافة إلى ذلك ، يمكنك تمرير متغير تسمية يقوم بتسمية المؤامرة. تقوم وظيفة العنوان أيضًا بتسمية عنوان المؤامرة ، بينما تقوم الدالتان xlabel و ylabel بتسمية المحاور. أخيرًا ، تعرض الوظيفة show () المؤامرة.

    فمثلا:

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(0, 5, 10)
    
    y = 3*x + 2
    plt.title('Line plot example')
    plt.xlabel('x axis')
    plt.ylabel('y axis')
    plt.plot(x, y)
    plt.show()

    نتيجة:

      PSA: احترس من عملية التصيد الاحتيالي الجديدة للبريد الإلكتروني من أمازون

    إخراج قطعة الأرض في Mathplotlib

    تعود السمة np.linspace على الرسم البياني ، وهي مجموعة من الأرقام المتباعدة بشكل متساوٍ عبر فاصل زمني معين لقيم x. سيؤدي هذا إلى إنشاء مصفوفة من 10 قيم في النطاق من 0 و 5. يتم إنشاء قيم y من المعادلة التي تستخدم القيم المقابلة لـ x.

    إنشاء مخططات مبعثرة

    يستخدم Matplotlib طريقة التشتت () لإنشاء هذه المؤامرة.
    تأخذ هذه الطريقة المعلمات التالية.

    matplotlib.pyplot.scatter(x_axis_data, y_axis_data, s=None, c=None, marker=None, cmap=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None) 

    لا يمكن ترك معلمات x_axis_data و y_axis_data فارغة ، بخلاف باقي المعلمات التي يمكن أن تكون اختيارية ولا تحتوي على أي قيمة. بينما تحدد الوسيطة x_axis_data مصفوفة من البيانات للمحور x ، فإن y_axis_data يحدد مصفوفة من البيانات للمحور y.

    مثال على مخطط مبعثر في matplotlib

    import matplotlib.pyplot as plt
     
    x =[15, 17, 18, 27, 22, 27, 32, 14, 11, 12, 29, 16]
     
    y =[19, 16, 17, 18, 10, 26, 13, 27, 14, 18, 17, 35]
    plt.title('Scatter plot example')
    plt.xlabel('x variable')
    plt.ylabel('y variable')
    plt.scatter(x, y, c ="green")
     
    # To show the plot
    plt.show()

    سوف يكون ناتجها مثل:

    ناتج مخطط التبعثر في Mathplotlib

    ما هي حبكة فرعية () في matplotlib

    يمكن استخدام الدالة subplot () لرسم مخططات متعددة على شكل Matplotlib واحد. هذا يسمح بمشاهدة ومقارنة المؤامرات المتعددة داخل الشكل.

    ستُرجع هذه الدالة tuple بثلاث وسيطات ؛ الصفوف والأعمدة الوسيطة الأولى والثانية ، على التوالي ، وفهرس الرسم الحالي كوسيطة ثالثة.

    الصفوف والأعمدة تحدد بوضوح تخطيط Matplotlib.

    لذلك ، plt.subplot (2 ، 1 ، 1) على سبيل المثال ، سوف يرسم شكل Matplotlib بصفين وعمود واحد ، وستكون هذه المؤامرة هي المؤامرة الأولى.

    من ناحية أخرى ، يعرض plt.subplot (2 ، 1 ، 2) مخططًا ثانيًا مع صفين وعمود واحد.

    سيؤدي رسم هاتين المخططين إلى إنشائهما فوق بعضهما البعض ، كما في المثال أدناه.

    import matplotlib.pyplot as plt
    import numpy as np
    
    #plot 1:
    x = np.array([2, 4, 6, 8])
    y = np.array([3, 6, 9, 12])
    
    plt.subplot(2, 1, 1)
    plt.plot(x,y)
    
    #plot 2:
    x = np.array([3, 6, 9, 12])
    y = np.array([1, 2, 3, 4])
    
    plt.subplot(2, 1, 2)
    plt.plot(x,y)
    
    plt.show()

    سيبدو إخراج المثال أعلاه مثل الصورة أدناه.

    باستخدام مثال مختلف ، دعنا نستخدم دالة الرسم البياني الفرعي لرسم رقمين مع صف واحد وعمودين. سيعرض هذا المؤامرات جنبًا إلى جنب.

    import matplotlib.pyplot as plt
    import numpy as np
    
    #plot 1:
    x = np.array([2, 4, 6, 8])
    y = np.array([3, 6, 9, 12])
    
    plt.subplot(1, 2, 1)
    plt.plot(x,y)
    
    #plot 2:
    x = np.array([3, 6, 9, 12])
    y = np.array([1, 2, 3, 4])
    
    plt.subplot(1, 2, 2)
    plt.plot(x,y)
    
    plt.show()

    سيعرض المثال أعلاه النتيجة التالية.

    حسنًا ، كان هذا تفاعليًا مثيرًا للاهتمام ، ألا تعتقد ذلك؟ 😃

    الكلمات الأخيرة

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

    غطت هذه المقالة أمثلة على المخططات المختلفة التي يمكن للوظائف التي تأتي مع Matplotlib إنشاؤها ، بما في ذلك المخططات الدائرية ومخططات الشريط والمدرج التكراري ومخططات التشتت.

    بالطبع ، لدى Python العديد من المكتبات الأخرى التي يمكن لخبراء التعلم الآلي وعلماء البيانات استخدامها لإنشاء تصورات.

    يمكنك استكشاف المزيد من المؤامرات التي يمكنك إنشاؤها باستخدام Matplotlib والوظائف التي ستستخدمها لإنشاء المؤامرة.

    مؤامرة سعيدة! 📉📊