Matplotlib multicursor.py 用于循环生成的子图

Matplotlib multicursor.py for loop-generated subplots

我正尝试在 matplotlib 中使用多光标,如示例 here 所示。 问题是我的子图是循环生成的,这意味着我没有 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()

有人有想法吗?谢谢!

为什么不制作一个轴列表并将其传递给多光标?

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()