Matplotlib في Python: شرح مؤامرات مختلفة مع أمثلة

نشرت: 2021-06-21

جدول المحتويات

ما هو matplotlib؟

من بين المكتبات العديدة المتوفرة في Python ، تعد matplotlib في Python إحدى مكتبات التصور التي تساعد في تصور مخططات ثنائية الأبعاد لمصفوفة. مكتبة تصور البيانات مبنية على مصفوفات NumPy. في عام 2002 ، تم تقديم مكتبة تصور البيانات متعددة المنصات بواسطة John Hunter. تقدم المكتبة تصورًا للبيانات والتخطيط الرسومي للبيانات التي توفر بديلاً لـ MATLAB. واجهات برمجة تطبيقات Matplotlib ، أي واجهات برمجة التطبيقات التي يستخدمها المطورون لتضمين المؤامرات في تطبيقات واجهة المستخدم الرسومية.

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

يتم استخدام اثنين من واجهات برمجة التطبيقات لتراكب طبقة البرمجة النصية matplotlib:

  • Python API: هو تسلسل هرمي لكائنات كود Python.
  • OO (Object Oriented) API: يتم توفير وصول مباشر إلى طبقات الواجهة الخلفية لـ Matplotlib بواسطة API.

تثبيت

يمكن تثبيت مكتبة matplotlib من خلال تنزيل matplotlib وتوابعها من Python Package Index (PyPI) كحزمة ثنائية.

الأمر الذي يمكن استخدامه لتثبيت المكتبة هو

python -m pip تثبيت matplotlib

في نظام تشغيل مثل Windows و Linux و macOS ، توجد matplotlib وتبعياتها كحزم عجلات. في مثل هذه الحالات يكون الأمر المراد تنفيذه هو.

python -mpip install -U matplotlib

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

استيراد

يتم استيراد matplotlib في بيثون من خلال الأوامر

  • من matplotlib استيراد pyplot كـ plt
  • استيراد matplotlib.pyplot كـ PLT

مؤامرات وأمثلة مختلفة

1. قائمة واجهة المستخدم Matplotlib

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

2. Matplotlib و NumPy

NumPy عبارة عن حزمة تحت نظام python لإجراء العمليات الحسابية العلمية. تم بناء Matplotlib على NumPy ويستخدم الوظائف التي توفرها NumPy لبياناتها الرقمية والمصفوفات متعددة الأبعاد.

3. ماتبلوتليب والباندا

Pandas هي مكتبة من Python تُستخدم لمعالجة البيانات وتحليلها بواسطة matplotlib. إنها ليست تبعية مطلوبة لـ matplotlib ولكنها توفر إطار بيانات.

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

بعض أنواع مؤامرات matplotlib هي:

1. مخطط الخط:

باستخدام نقطتين

  • يتم إنشاء مؤامرة خط Matplotlib من خلال استيراد pyplot.
  • بالنسبة إلى نقاط الرسم في الرسم التخطيطي ، يتم استخدام وظيفة الرسم البياني () والتي ترسم بشكل افتراضي خطًا من نقطة إلى أخرى.
  • يتم أخذ معلمتين في الاعتبار تحدد النقاط لرسم الخط.
  • يتم تخزين نقاط المحور السيني كمصفوفة في المعلمة 1.
  • يتم تخزين نقاط المحور Y كمصفوفة في المعلمة 2.
  • مثال: إذا كان لابد من رسم خط من النقاط (2 ، 6) ، إلى (10 ، 15) ، فيجب تمرير مصفوفتين ، أي [2 ، 10] ، [6 ، 15].

مثال: كود يوضح رسم الخطوط والمخطط الذي تم إنشاؤه

مصدر

2. استخدام نقاط متعددة

  • مثل الطريقة التي تُستخدم بها نقطتان للتخطيط ، يُسمح برسم نقاط متعددة باستخدام matplotlib في الثعبان .
  • يجب أن تكون النقاط بنفس الرقم في كلا المحورين لرسم عدد من النقاط.
  • إدخال:

مصدر

3. نقاط الخط بدون نقاط المحور س

  • إذا لم يتم تحديد نقاط المحور "س" ، فسيتم أخذ القيم الافتراضية للمحور "س" بناءً على نقاط المحور "ص".
  • الإدخال: سيبقى الرمز كما هو مع الرموز أعلاه لرسم الخطوط ولكن مع مصفوفة واحدة فقط كمدخل ، أي مصفوفة للمحور ص. سيتم اعتبار المحور X افتراضيًا.

ypoints = np.array ([10، 8، 12، 20، 3، 9])

  • المؤامرة المنشأة:

توجد خيارات مختلفة في matplotlib تسمح بزيادة التأثيرات المرئية للمخططات:

1. علامات

  • لتحسين التأثيرات المرئية للنقاط في الرسم التخطيطي ، يمكن استخدام علامة محددة باستخدام علامة الكلمة الأساسية .
  • يمكن أن تكون العلامات نجمة ، أو دائرة ، أو نقطة ، أو بكسل ، أو X ، وما إلى ذلك.
  • مثال: يمكن استخدام plt.plot (ypoints ، marker = 'o') لرسم النقاط
  • تظهر القوائم الأخرى للعلامات في المقتطف أدناه المأخوذ من

مصدر

  • يمكن تغيير العلامة وفقًا للون (140 لونًا مدعومًا) والحجم ونوع الخط الذي يمكن استخدامه مثل الخط المنقط أو الثابت أو المتقطع.
  • يتم استخدام الأمرين markeredge ( mec ) و markerfacecolor ( mfc ) لتلوين العلامة بأكملها.
  • يوفر خيار تلوين حافة العلامة أو العلامة بأكملها فقط.
  • يستخدم Markersize أو بالمللي ثانية لتعيين حجم العلامة.

بناء الجملة: plt.plot (ypoints ، العلامة = 'o' ، ms = 30)

2. خط ماتبلوتليب

  • يمكن تغيير نمط الخط المرسوم وفقًا لخيارات النمط الخطي أو المنقط أو المتقطع الممثلة كـ ls أو : أو - .

بناء الجملة: plt.plot (ypoints، ls = ':')

  • يمكن تغيير لون الخط وفقًا للون الكلمة الرئيسية أو في شكل أقصر باستخدام c . يوفر matplotlib 140 لونًا مدعومًا لتغيير مظهر لون الخط.
  • يمكن تغيير عرض السطر باستخدام خط الوسيطة أو lw . إنه رقم عائم بالنقاط.
  • يمكن رسم خطوط متعددة في نفس الرسم البياني باستخدام وظائف plt.plot () .
  • يتم استخدام وظيفة الشبكة () لإضافة خطوط الشبكة في المؤامرة. يمكن إضافة معلمات المحور لتحديد المحور المطلوب فيه خط الشبكة.

بناء الجملة: plt.grid (المحور = 'x')

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

التركيب اللغوي: شبكة plt.grid (اللون = 'أخضر' ، نمط الخط = '-' ، عرض الخط = 0.5)

3. Matplotlib التسميات والعناوين

  • تُستخدم وظائف xlabel () و ylabel () لتسمية asex ذات الصلة.
  • يتم استخدام الوظيفة title () لإعداد عنوان للمؤامرة.
  • يمكن تغيير خصائص الخط للمخطط باستخدام معلمة fontdict .
  • يمكن استخدام المعلمة loc لتحديد موضع العنوان.

يمكن رسم مخططات متعددة في شكل واحد باستخدام وظيفة الحبكات الفرعية () .

4. مؤامرة مبعثر Matplotlib

  • يمكن استخدام الدالة scatter () مع pyplot لرسم مخطط مبعثر.
  • يلزم وجود صفيفين من نفس الطول ، أي صفيف واحد لكل محور.
  • مثال:

مصدر

تم إنشاء المؤامرة

  • اللون أو يتم استخدام الوسيطة c لتلوين النقاط في مخطط التبعثر.
  • يمكن استخدام خريطة الألوان لتحديد اللون المطلوب في مخطط الانتشار. كل لون في مخطط الألوان له قيمة محددة. يمكن تضمينه من خلال الوسيطة cmap nd ثم تعيين اسم خريطة الألوان. تتوفر العديد من الخرائط الملونة في matplotlib.

بناء الجملة: plt.satter (x، y، c = colours، cmap = 'viridis')

Viridis هو مخطط ألوان مدمج متوفر في matplotlib.

  • يمكن تغيير حجم وشفافية النقاط من خلال الوسيطة s و alpha .
  • يمكن دمج خريطة الألوان مع أحجام مختلفة من النقاط.

5. مخططات شريط Matplotlib

  • تستخدم الدالة bar () لرسم المخططات الشريطية . تم ذكر الحجج الخاصة بتخطيط الأشرطة في وظيفة bar (). يرسم مخططات شريط عمودي.

  • لتخطيط المخططات الشريطية الأفقية ، يتم استخدام وظيفة barh () .
  • إدخال:

  • المؤامرة المنشأة:

مصدر

  • يتم استخدام وسيطة اللون مع وظيفة bar () و barh () لتعيين ألوان الشريط.

بناء الجملة: plt.bar (x، y، color = “green”).

  • يتم استخدام وسيطة العرض مع الدالة bar () و barh () لتعيين عرض الشريط.

بناء الجملة: plt.bar (x ، y ، width = 0.2).

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

6. مؤامرة فطيرة Matplotlib

  • يتم إنشاء مخطط دائري من خلال الوظيفة pie () في مكتبة matplotlib.
  • مثال: الإدخال:

  • المؤامرة المنشأة:

مصدر

  • يمكن تسمية كل إسفين بتسمية المعلمة وهي عبارة عن مصفوفة تحتوي على تسميات لكل إسفين.

التركيب اللغوي: mylabels = [ "سيارات" ، "دراجات" ، "دراجات " ، "حافلات" ]

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

التركيب اللغوي: myexplode = [0.2، 0، 0، 0]

  • سيؤدي تعيين معلمة الظلال على القيمة الحقيقية إلى إنشاء ظل للمخطط الدائري.
  • يتم استخدام معلمة الألوان لتحديد ألوان كل إسفين من خلال مصفوفة.

التركيب اللغوي: mylabels = [ "سيارات" ، "دراجات" ، "دراجات " ، "حافلات" ]

mycolors = ["أسود" ، "hotpink" ، "أزرق" ، أخضر ""]

  • تستخدم الدالة legend () لإضافة شرح لكل إسفين.

7. الرسم البياني

  • يستخدم المدرج التكراري لرسم توزيعات التردد.
  • يتم استخدام وظيفة Hist () لإنشاء مدرج تكراري يستخدم مصفوفة من الأرقام لإنشاء المدرج التكراري.
  • مثال: الإدخال: ستكون الأسطر أعلاه هي نفسها المستخدمة في رسم المخططات الشريطية.

س = np.random.normal (90 ، 100 ، 200)

طباعة (x)

  • المؤامرة المنشأة:

خاتمة

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

يتوفر التدريب على برمجة Python في مجال علوم البيانات في الدورة التدريبية Executive PG Program in Data Science التي تقدمها upGrad . إذا كنت على استعداد للحصول على تدريب تحت إشراف خبراء الصناعة واستكشاف الفرص المختلفة التي يوفرها علم البيانات ، فيمكنك التسجيل في الدورة. يتم تقديم الدورة من قبل IIIT-Bangalore وهي مصممة خصيصًا للمهنيين من المستوى المتوسط ​​ضمن الفئة العمرية من 21 إلى 45 عامًا. بغض النظر عن أي جنس ، إذا كنت تندرج ضمن هذه الفئة المذكورة وتحلم بأن تصبح عالم بيانات رائد ، فتفضل بالانضمام إلينا في هذا المشروع. لأي سفينة مساعدة ، فإن فريقنا جاهز لمساعدتك.

ما هي مزايا وحدة الباندا؟

تعد Pandas واحدة من وحدات Python النمطية الأكثر أهمية وفائدة والتي لها حالات استخدام مختلفة. فيما يلي بعض مزايا وحدة Pandas.
1. تسمح حيوانات الباندا بتصفية البيانات وتكوينها بشكل ملائم.
2. رمزه نظيف ومفهوم بحيث يمكن للمستخدمين التركيز أكثر على الهدف الأساسي.
3. نظرًا لأنه مكتوب بلغة NumPy ، فإنه يرث بعض الميزات المفيدة لـ NumPy أيضًا.

ما الغرض الذي تخدمه مكتبة Matplotlib؟

1. توفر مكتبة Matplotlib العديد من واجهات برمجة التطبيقات المفيدة لتضمين أنواع مختلفة من المخططات بما في ذلك الرسم البياني ، والمخططات الخطية والشريطية ، والمخططات المبعثرة ، والرسوم البيانية الشريطية.
2. يمكن أن تساعدك هذه المكتبة القوية في إنشاء مخططات ثنائية الأبعاد باستخدام البيانات المخزنة في صفيف. يسمح لك هيكل الكود البسيط الخاص به بتضمين أي نوع من المؤامرة فقط عن طريق إضافة بضعة أسطر بسيطة من التعليمات البرمجية.
3. يحتوي على واجهة كائنية التوجه مما يجعله بديلاً فعالاً لـ MATLAB و Pyplot. إنه قابل للتخصيص بدرجة كبيرة ولكنه يتطلب بعض الخبرة لاستخدام الميزات المتقدمة.
4. إذا كنت بحاجة إلى تضمين مخططات أبسط في التطبيق الخاص بك ، فيجب عليك استخدام واجهة Python بنمط MATLAB. ومع ذلك ، إذا كان لديك قطع أراضي معقدة ، فستكون واجهة OOP الخاصة بها خيارًا أفضل بكثير.