Matplotlib multicursor.py для сгенерированных циклом дочерних участков

Я пытаюсь использовать мультикурсор в matplotlib, как в примере здесь. Проблема в том, что мои подсюжеты генерируются циклом, что означает, что у меня нет ax1, ax2,... Но код стоит тысячи слов:

t = 0
fig = plt.figure()
while t < 16 :
     ax = fig.add_subplot(4,4,t+1)
     p1 = plot(...)
     p2 = plot(...)
     p3 = plot(...)
     p4 = plot(...)
     t = t+1
show()

У кого-нибудь есть идея? Спасибо!

1 ответ

Решение

Почему бы не составить список осей и не передать его мультивурсору?

t = 0
fig = plt.figure()
axes_list = []
while t < 16 :
     ax = fig.add_subplot(4,4,t+1)
     axes_list.append(ax)
     p1 = plot(...)
     p2 = plot(...)
     p3 = plot(...)
     p4 = plot(...)
     t = t+1
multi = MultiCursor(fig.canvas, axes_list, color='r', lw=1)
show()
Другие вопросы по тегам