اذهب إلى المحتوى
  • 0

رسم خطوط عمودية باستخدام axvline ضمن ال plot في Matplotlib

Ali Ismael

السؤال

Recommended Posts

  • 1

يمكنك استخدام الدالة ()matplotlib.pyplot.axvline لإضافة خطوط عمودية لل plot الخاص بك:

matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, **kwargs)

حيث أن الوسيط الأول يستخدم لتحديد الإحداثي x الذي تريد رسم الخط العمودي عنده. أما الوسيط الثاني فيحدد موضع بدء الخط العمودي على المحور y، حيث يأخذ قيم بين 0 و 1، بحيث 0 يكون أسفل المحور ،  أما 1 يكون أعلى المحور. أما الوسيط الثالث، فيحدد موضع نهاية الخط العمودي على المحور y ، حيث يأخذ قيم بين 0 و 1، بحيث 0 يكون أسفل المحور ، و 1 يكون أعلى المحور. وأخيراً **kwargs تمثل وسطاء أخرى مثل عرض الخط linewidth واللون color. مثال:

import matplotlib.pyplot as plt
# تحديد بيانات 
x =[0, 3, 7, 12, 17]
y =[1, 4, 6, 7, 10]
# رسم البيانات
plt.plot(x, y)
# بحيث يبدأ من منتصف المحور العيني x = 3.2 رسم خط عمودي باللون الأحمر عند الإحداثي 
# وينتهي في نهاية المحور العيني 
plt.axvline(x = 3.2, ymin = 0.5, ymax = 1,
			color ='r')
plt.show()

الخرج:
index.png.9dafe172c58dc7bd9db7417223d6ba0d.png
كما يمكنك رسم عدة خطوط عمودية كالتالي:

import matplotlib.pyplot as plt
# تحديد بيانات 
x =[0, 3, 7, 12, 17]
y =[1, 4, 6, 7, 10]
# رسم البيانات
plt.plot(x, y)
# بحيث يبدأ من منتصف المحور العيني x = 3.2 رسم خط عمودي باللون الأحمر عند الإحداثي 
# وينتهي في نهاية المحور العيني 
plt.axvline(x = 3.2, ymin = 0.5, ymax = 1,
			color ='r')
# خط آخر مع تغيير بعض القيم
plt.axvline(x = 4.0, ymin = 0.3, ymax = 0.7,
			color ='black')
# خط آخر
plt.axvline(x = 5.0, ymin = 0.1, ymax = 0.9,
			color ='y')
plt.show()

الخرج:
2.png.bec830a409de87bc39c0131e12e50360.png
أو من خلال حلقة for:

import matplotlib.pyplot as plt
# تحديد بيانات 
x =[0, 3, 7, 12, 17]
y =[1, 4, 6, 7, 10]
# رسم البيانات
plt.plot(x, y)
xcoords = [2.22058956, 0.03088437, 4.20589566]
for xc in xcoords:
    plt.axvline(x = xc, ymin = 0.5, ymax = 1,
			color ='r')
plt.show()

الخرج:
1.png.ef24ae0e8c5a3818d119fd116c3fc386.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

يمكن استخدام الدالة axcline لتحديد اتجاه العمود الذي تريد رسمه بسهولة وهي كالتالي:
 

matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1, hold=None, **kwargs)

بحيث تقوم بتحديد المكان على المحور السيني x ومكان بدء الخط العمودي y ومكان نهايته.

المثال التالي يوضح كيفية استخدامها بسهوله داخل رسمه:

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_*2 for _ in xdata]

plt.plot(xdata, ydata, 'b')

plt.axvline(x=5, ymin=0.1, ymax=0.9)

plt.grid()
plt.show()

Capture.PNG.3813983c67d7ce828e4d213f1c103aa1.PNG

ويمكنك كذلك رسم عدة خطوط سويا في نفس الرسمة كالتالي:

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_*2 for _ in xdata]

plt.plot(xdata, ydata, 'b')

plt.hlines(y=5, xmin=0, xmax=10)
plt.vlines(x=5, ymin=0, ymax=20)

plt.grid()
plt.show()

Capture.PNG.57d546210d85a36b08a9a6216aca5f40.PNG

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...