«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как добавить метки для основной и дополнительной осей в легенду с помощью TwinX?

Как добавить метки для основной и дополнительной осей в легенду с помощью TwinX?

Опубликовано 8 ноября 2024 г.
Просматривать:616

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

Отображение легенды с помощью вторичной оси в TwinX

На графике с несколькими осями Y с использованием 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». Чтобы включить метку «temp» для дополнительной оси, можно использовать два подхода:

Отдельные легенды

Один из вариантов — создать вторую легенду специально для вторичной оси. ось. Этого можно добиться, добавив следующую строку:

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