Data Visualization

إتقان عناوين الرسوم الفرعية في Matplotlib: طريقتان فعّالتان

Spread the love

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

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

استخدام pyplot.suptitle()

توفر دالة pyplot.suptitle() طريقة موجزة لإضافة عنوان رئيسي. وهي جزء من وحدة matplotlib.pyplot (يتم استيرادها عادةً باسم plt). هذه الطريقة بسيطة وواسعة الاستخدام.


import matplotlib.pyplot as plt

# بيانات نموذجية
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# إنشاء رسوم فرعية
fig, axes = plt.subplots(2, 1)

# رسم البيانات
axes[0].plot(x, y1)
axes[0].set_title('الرسوم الفرعية 1')
axes[1].plot(x, y2)
axes[1].set_title('الرسوم الفرعية 2')

# إضافة العنوان الرئيسي
plt.suptitle('العنوان الرئيسي للرسم', fontsize=14)

# ضبط التصميم (ضروري لمنع التداخل)
plt.tight_layout(rect=[0, 0.03, 1, 0.95]) 

plt.show()

تُعد دالة plt.tight_layout() أساسية. فهي تقوم تلقائيًا بضبط معلمات الرسوم الفرعية لمنع تداخل العناوين. تقوم معلمة rect بضبط التصميم بدقة ؛ قد تحتاج إلى ضبط قيمها بناءً على طول العنوان وعدد الرسوم الفرعية.

استخدام figure.suptitle()

بدلاً من ذلك، توفر طريقة figure.suptitle()، التي يتم الوصول إليها عبر كائن الرسم نفسه، وظيفة مكافئة. يتوافق هذا النهج مع أسلوب البرمجة كائنية التوجه.


import matplotlib.pyplot as plt

# بيانات نموذجية (مثل المثال السابق)
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# إنشاء رسوم فرعية
fig, axes = plt.subplots(2, 1)

# رسم البيانات
axes[0].plot(x, y1)
axes[0].set_title('الرسوم الفرعية 1')
axes[1].plot(x, y2)
axes[1].set_title('الرسوم الفرعية 2')

# إضافة العنوان الرئيسي باستخدام كائن الرسم
fig.suptitle('العنوان الرئيسي للرسم (كائنية التوجه)', fontsize=14)

# ضبط التصميم
plt.tight_layout(rect=[0, 0.03, 1, 0.95])

plt.show()

يعكس هذا الكود المثال السابق، مما يوضح الطبيعة المتبادلة لهذين الأسلوبين.

اختيار الطريقة المناسبة

تحقق كلتا الطريقتين نتائج متطابقة. غالبًا ما يقتصر الاختيار على التفضيل الشخصي أو أسلوب الترميز. pyplot.suptitle() أكثر إيجازًا، بينما figure.suptitle() تتوافق بشكل أفضل مع نهج كائني التوجه بشكل صارم. الاتساق داخل مشروعك هو المفتاح. تذكر دائمًا استخدام plt.tight_layout() أو ضبط معلمات الرسوم الفرعية يدويًا لضمان رسم نظيف وقابل للقراءة.

اترك تعليقاً

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