English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل Matplotlib

Multiplots في Matplotlib

في هذا الفصل، سنتعلم كيفية إنشاء عدة رسوم فرعية على نفس لوحة.

يعود دالة subplot() إلى دالة axes في الموقع المحدد من الشبكة. اسم دالة هذا العرض هو -

# اسم الملف: example.py
# حقوق النشر: 2020 By w3codebox
# الكاتب: by ar.oldtoolbag.com
# تاريخ: 2020-08-08
plt.subplot(subplot(nrows, ncols, index))

في الرسم الحالي، يقوم هذا الدالة بإنشاء وتقديم دالة Axes في موقع النسق grid فيncolsaxes فيncols، بترتيب الأسطر من 1 إلى nrows * ncols، يزيد الترتيب بشكل خطي. إذا كانتnrows،ncols والـindex أقل من 10. يمكن أيضًا تقديم الترتيب كرقم واحد، أو ثلاثة أرقام مربوطة.

على سبيل المثال، subplot(2, 3, 3) و subplot(233) ستقومان بإنشاء محور في الزاوية اليمنى العليا من الرسم الحالي، ويأخذان نصف طول الرسم وثلث عرضه.

إن إنشاء رسم فرعي سيقوم بإزالة أي رسم فرعي موجود مسبقًا يتعاقب معه، وليس مشاركة الحدود.

المرجع التالي للكود:

# اسم الملف: example.py
# حقوق النشر: 2020 By w3codebox
# الكاتب: by ar.oldtoolbag.com
# تاريخ: 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 # عرض إعدادات اللغة الصينية...
 plt.rcParams['font.sans-serif'] = ['SimHei'] # الخطوة الأولى (استبدال الخط sans-serif)
 plt.rcParams['axes.unicode_minus'] = False # 步骤二(解决坐标轴负数的负号显示问题)原文出自【立地货】,商业转载请联系作者获得授权,非商业请保留原文链接
 # رسم خط، بتفسيره بوضوح إنشاء محور (111)
 plt.plot([1,2,3])
 # now create a subplot which represents the top plot of a grid with 2 rows and 1 column.
 #Since this subplot will overlap the first, the plot (and its axes) previously created, will be removed
 plt.subplot(211)
 plt.plot(range(12))
 plt.subplot(212, facecolor='y') # يخلق محورًا ثانيًا مع خلفية صفراء
 plt.plot(range(12))
 plt.show()

تشغيل الكود المثال أعلاه، للحصول على النتيجة التالية:

لا تغطي دالة add_subplot() من فئة figure الرسم الحالي، انظر إلى الكود التالي -

# اسم الملف: example.py
# حقوق النشر: 2020 By w3codebox
# الكاتب: by ar.oldtoolbag.com
# تاريخ: 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 # عرض إعدادات اللغة الصينية...
 plt.rcParams['font.sans-serif'] = ['SimHei'] # الخطوة الأولى (استبدال الخط sans-serif)
 plt.rcParams['axes.unicode_minus'] = False # الخطوة الثانية (حل مشكلة عرض العلامة السلبية على المحاور)
 fig = plt.figure()
 ax1 = fig.add_subplot(111)
 ax1.plot([1,2,3])
 ax2 = fig.add_subplot(221, facecolor='y')
 ax2.plot([1,2,3])
 plt.show()

تشغيل الكود المثال أعلاه، للحصول على النتيجة التالية:

يمكن إضافة رسمة إضافية في نفس لوحة الرسمة عن طريق إضافة عنصر محور آخر. انظر إلى الكود التالي -

# اسم الملف: example.py
# حقوق النشر: 2020 By w3codebox
# الكاتب: by ar.oldtoolbag.com
# تاريخ: 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 # عرض إعدادات اللغة الصينية...
 plt.rcParams['font.sans-serif'] = ['SimHei'] # الخطوة الأولى (استبدال الخط sans-serif)
 plt.rcParams['axes.unicode_minus'] = False # الخطوة الثانية (حل مشكلة عرض العلامة السلبية على المحاور)
 x = np.arange(0, math.pi*2, 0.05)
 fig=plt.figure()
 axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # main axes
 axes2 = fig.add_axes([0.55, 0.55, 0.3, 0.3]) # inset axes
 y = np.sin(x)
 axes1.plot(x, y, 'b')
 axes2.plot(x,np.cos(x),'r')
 axes1.set_title('سين')
 axes2.set_title("كوسين")
 plt.show()

تشغيل الكود المثال أعلاه، للحصول على النتيجة التالية: