Matplotlib مكتبة قوية في بايثون لإنشاء تصورات. تعتبر الأساطير أساسية لفهم الرسوم البيانية، وإنشاء مظهرها يحسن القابلية على القراءة. توضح هذه المقالة طريقتين لضبط عرض الخطوط في أساطير Matplotlib.
محتويات
- ضبط عرض الخط مباشرةً باستخدام
set_linewidth()
- استخدام
matplotlib.pyplot.setp()
للتعديل المختصر - الأسئلة الشائعة
ضبط عرض الخط مباشرةً باستخدام set_linewidth()
توفر طريقة set_linewidth()
تحكمًا دقيقًا في خطوط الأسطورة الفردية. إنها تتحكم مباشرةً في legendHandles
للأسطورة، وهي كائنات Line2D.
import matplotlib.pyplot as plt
# بيانات نموذجية
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]
# إنشاء الرسم البياني
fig, ax = plt.subplots()
line1, = ax.plot(x, y1, label='Line 1', linewidth=2)
line2, = ax.plot(x, y2, label='Line 2', linewidth=1)
# إنشاء الأسطورة
legend = ax.legend()
# الوصول إلى عرض الخط وتعديله
legend.legendHandles[0].set_linewidth(4) # الخط 1 في الأسطورة
legend.legendHandles[1].set_linewidth(3) # الخط 2 في الأسطورة
# عرض الرسم البياني
plt.show()
يقوم هذا الكود أولاً برسم البيانات، ثم الوصول إلى مقابض الأسطورة عبر legend.legendHandles
. set_linewidth()
يضبط عرض كل خط. legendHandles[0]
يشير إلى الخط الأول، وهكذا.
استخدام matplotlib.pyplot.setp()
للتعديل المختصر
يوفر matplotlib.pyplot.setp()
طريقة أكثر إيجازًا لتعديل العديد من الخصائص في وقت واحد.
import matplotlib.pyplot as plt
# بيانات نموذجية (كما كان من قبل)
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]
# إنشاء الرسم البياني
fig, ax = plt.subplots()
line1, = ax.plot(x, y1, label='Line 1', linewidth=2)
line2, = ax.plot(x, y2, label='Line 2', linewidth=1)
# إنشاء الأسطورة
legend = ax.legend()
# تعديل عرض الخط باستخدام setp()
plt.setp(legend.legendHandles, 'linewidth', [4, 3])
# عرض الرسم البياني
plt.show()
plt.setp()
يضبط بكفاءة linewidth
لجميع المقابض. [4, 3]
يحدد العرض لكل خط، حسب ترتيب الظهور.
الأسئلة الشائعة
س: ماذا لو كان لدي أكثر من خطين؟
ج: تتكيف كلتا الطريقتين بسهولة. بالنسبة إلى set_linewidth()
، قم بتوسيع الفهرسة. بالنسبة إلى setp()
، تأكد من أن قائمة عرض الخط تتطابق مع عدد مقابض الأسطورة.
س: هل يمكنني تغيير خصائص الأسطورة الأخرى؟
ج: نعم، كلا الطريقتين تعدلان خصائص مثل اللون، وأسلوب الخط، والعلامة. راجع وثائق Matplotlib.
س: أي طريقة يجب أن أختار؟
ج: set_linewidth()
يوفر تحكمًا دقيقًا للخطوط الفردية. setp()
أكثر إيجازًا لتعديل نفس الخاصية عبر جميع الخطوط. اختر بناءً على احتياجاتك وأسلوب الترميز الخاص بك.
توفر هذه المقالة طريقتين فعالتين لتعزيز وضوح أسطورة Matplotlib وتأثيرها البصري. راجع وثائق Matplotlib للتخصيص المتقدم.