Matplotlib مكتبة قوية في بايثون لإنشاء تصورات. إن إضافة خطوط أفقية ورأسية إلى مخططاتك يمكن أن يحسن الوضوح بشكل كبير من خلال تسليط الضوء على نقاط البيانات، أو العتبات، أو مناطق الاهتمام. توضح هذه المقالة طريقتين فعالتين لتحقيق ذلك: باستخدام axhline
/axvline
و hlines
/vlines
.
محتويات
استخدام axhline
و axvline
توفر دالتا axhline
و axvline
طريقة بسيطة لإضافة خطوط أفقية ورأسية مفردة، على التوالي، مباشرة إلى كائن المحاور في Matplotlib. وهي مثالية عندما يحتاج الخط إلى امتداد الرسم البياني بالكامل.
import matplotlib.pyplot as plt
import numpy as np
# بيانات عينة
x = np.linspace(0, 10, 100)
y = np.sin(x)
# إنشاء المخطط
fig, ax = plt.subplots()
ax.plot(x, y)
# إضافة خط أفقي عند y = 0.5
ax.axhline(y=0.5, color='r', linestyle='--', linewidth=2)
# إضافة خط رأسي عند x = 5
ax.axvline(x=5, color='g', linestyle='-', linewidth=1)
# تخصيص المظهر (اختياري)
ax.set_xlabel("المحور X")
ax.set_ylabel("المحور Y")
ax.set_title("خطوط أفقية ورأسية مع axhline/axvline")
plt.show()
ينتج هذا الكود موجة جيبية ويضيف خطًا أفقيًا متقطعًا أحمر عند y = 0.5
وخطًا رأسيًا أخضر متصل عند x = 5
. يمكنك تخصيص خصائص الخط باستخدام معلمات مثل color
، و linestyle
، و linewidth
، و alpha
(الشفافية)، و label
(للو أساطير).
استخدام hlines
و vlines
لمزيد من التحكم، خاصة عند رسم خطوط متعددة أو خطوط تمتد فقط لجزء من المحاور، توفر hlines
و vlines
مرونة أكبر. فهي تسمح لك بتحديد إحداثيات y للخطوط الأفقية وإحداثيات x للخطوط الرأسية بشكل فردي.
import matplotlib.pyplot as plt
import numpy as np
# بيانات عينة
x = np.linspace(0, 10, 100)
y = np.sin(x)
# إنشاء المخطط
fig, ax = plt.subplots()
ax.plot(x, y)
# إضافة خطوط أفقية متعددة
ax.hlines(y=[0, 0.5, 1], xmin=0, xmax=10, colors=['b', 'r', 'g'], linestyles=['-', '--', ':'])
# إضافة خطوط رأسية متعددة
ax.vlines(x=[2, 7], ymin=0, ymax=1, colors=['k', 'm'], linewidths=[2, 1])
# تخصيص المظهر (اختياري)
ax.set_xlabel("المحور X")
ax.set_ylabel("المحور Y")
ax.set_title("خطوط أفقية ورأسية مع hlines/vlines")
plt.show()
يضيف هذا المثال ثلاثة خطوط أفقية عند قيم y مختلفة عبر نطاق x بالكامل وخطين رأسيين عند إحداثيات x محددة، ممتدين من ymin=0
إلى ymax=1
. يتم استخدام القوائم لمواصفات الخطوط المتعددة. لاحظ استخدام linewidths
للتحكم في سمك الخط.
الخلاصة
كل من axhline
/axvline
و hlines
/vlines
أدوات مفيدة لتعزيز مخططات Matplotlib. axhline
/axvline
أبسط للخطوط المفردة التي تمتد عبر الرسم البياني بالكامل، بينما hlines
/vlines
توفر مرونة أكبر للخطوط المتعددة أو الخطوط ذات نقاط البداية والنهاية المحددة. يعتمد الاختيار الأمثل على احتياجاتك في التصوير. تذكر تخصيص أنماط الخطوط والألوان من أجل وضوح مثالي.