Data Visualization

إتقان ماتبلوتليب: ربط نقاط الرسم البياني النقطي بخطوط

Spread the love

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

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

دمج scatter() و plot()

النهج الأكثر مباشرة هو استخدام دالتي scatter() و plot() معًا. يسمح هذا بالتحكم المستقل في مظهر النقاط والخطوط التي تربطها. من المهم التأكد من استدعاء `plt.show()` *بعد* كلا الدالتين لعرض كلا العنصرين بشكل صحيح.


import matplotlib.pyplot as plt
import numpy as np

# بيانات عينة
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])

# إنشاء الرسم البياني النقطي
plt.scatter(x, y, color='blue', label='نقاط البيانات')

# ربط النقاط بخط
plt.plot(x, y, color='red', linestyle='-', linewidth=2, label='خط الاتجاه')

# إضافة تسميات وعلامة توضيحية
plt.xlabel("المحور X")
plt.ylabel("المحور Y")
plt.title("رسم بياني نقطي بخط توصيل")
plt.legend()

# عرض الرسم البياني
plt.show()

تخصيص أنماط الخطوط باستخدام plot()

توفر دالة matplotlib.pyplot.plot() تحكمًا واسعًا في جماليات الخطوط. يسمح لك سمة linestyle بتحديد أنماط خطوط متنوعة (متصل، متقطع، منقط، إلخ)، بينما تقوم معلمات أخرى مثل color و linewidth بتحسين المظهر بشكل أكبر. يمكن إضافة علامات لتسليط الضوء على نقاط البيانات مباشرةً على الخط.


import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])

plt.plot(x, y, linestyle='--', color='green', marker='o', markersize=8, label='خط مخصص')
plt.xlabel("المحور X")
plt.ylabel("المحور Y")
plt.title("رسم خط مخصص")
plt.legend()
plt.show()

التحكم في ترتيب الطبقات باستخدام zorder

عند دمج scatter() و plot()، قد لا يتطابق ترتيب الرسم دائمًا مع ترتيب التنفيذ. تتحكم معلمة الكلمة المفتاحية zorder في ترتيب تراكب عناصر الرسم. يتم رسم القيم الأعلى لـ zorder في الأعلى. هذا أمر بالغ الأهمية لضمان ظهور نقاط التشتت بوضوح حتى عند تراكبها على خط.


import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])

# يتم رسم الخط أولاً، خلف نقاط التشتت
plt.plot(x, y, zorder=1, color='purple', label='الاتجاه الأساسي')

# يتم رسم نقاط التشتت في الأعلى
plt.scatter(x, y, zorder=2, color='orange', label='نقاط البيانات')

plt.xlabel("المحور X")
plt.ylabel("المحور Y")
plt.title("التحكم في ترتيب الطبقات باستخدام zorder")
plt.legend()
plt.show()

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

اترك تعليقاً

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