"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إضافة تسميات لكل من المحاور الأساسية والثانوية في وسيلة الإيضاح باستخدام TwinX؟

كيفية إضافة تسميات لكل من المحاور الأساسية والثانوية في وسيلة الإيضاح باستخدام TwinX؟

تم النشر بتاريخ 2024-11-08
تصفح:641

How to Add Labels for Both Primary and Secondary Axes in a Legend with TwinX?

عرض وسيلة الإيضاح مع المحور الثانوي في TwinX

في مخطط يحتوي على محاور ص متعددة باستخدام twinx()، إضافة تسميات إلى كل سطر و يمكن أن يمثل عرضها في وسيلة إيضاح تحديًا. عادةً، تظهر التسميات من المحور الأساسي فقط في وسيلة الإيضاح.

خذ بعين الاعتبار المثال التالي حيث يتم تعريف تسميات خطي محور أساسي وخط محور ثانوي واحد:

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(time, Swdown, '-', label = 'Swdown')
ax.plot(time, Rn, '-', label = 'Rn')
ax2 = ax.twinx()
ax2.plot(time, temp, '-r', label = 'temp')
ax.legend(loc=0)

في هذه الحالة، تعرض وسيلة الإيضاح فقط التسميات 'Swdown' و'Rn'. لتضمين التسمية "درجة الحرارة" للمحور الثانوي، يمكن استخدام طريقتين:

وسائل إيضاح منفصلة

أحد الخيارات هو إنشاء وسيلة إيضاح ثانية خصيصًا للمحور الثانوي محور. يمكن تحقيق ذلك عن طريق إضافة السطر التالي:

ax2.legend(loc=0)

سينتج عن ذلك أسطورة منفصلة، ​​واحدة لكل محور.

أسطورة مجمعة

للحصول على وسيلة إيضاح واحدة مجمعة، استخدم الخطوات التالية:

  1. إنشاء قائمة لجميع الأسطر (من كلا المحورين) التي تريد ظهورها في وسيلة الإيضاح:
lns = lns1 lns2 lns3
  1. استخرج التسميات من كل سطر:
labs = [l.get_label() for l in lns]
  1. الاستخدام وظيفة legend() على المحور الأساسي (ax)، مروراً بقائمة الخطوط المدمجة وقائمة التصنيفات:
ax.legend(lns, labs, loc=0)

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

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3