Posso fazer algo como imsave () com sobreposição de texto?

estou usandoimsave() sequencialmente para criar muitos PNGs que combinarei como AVI e gostaria de adicionar anotações de texto em movimento. eu usoImageJ para fazer AVIs ou GIFs.

Não quero eixos, números, bordas nem nada, apenas a imagem colorida (comoimsave() fornece, por exemplo) texto (e talvez setas) dentro. Isso mudará quadro a quadro. Perdoe o uso de jato.

eu poderia usarsavefig() com as marcações desativadas e depois o corte como pós-processamento, mas existe uma maneira mais conveniente, direta ou "matplotlibithic" de fazer isso que não seria tão difícil no meu disco rígido? (a coisa final será bem grande).

Um trecho de código, adicionado por solicitação:

import numpy as np
import matplotlib.pyplot as plt

nx, ny = 101, 101

phi   = np.zeros((ny, nx), dtype = 'float')
do_me = np.ones_like(phi, dtype='bool')

x0, y0, r0 = 40, 65, 12

x = np.arange(nx, dtype = 'float')[None,:]
y = np.arange(ny, dtype = 'float')[:,None]
rsq = (x-x0)**2 + (y-y0)**2

circle = rsq <= r0**2

phi[circle] = 1.0
do_me[circle] = False

do_me[0,:], do_me[-1,:], do_me[:,0], do_me[:,-1] = False, False, False, False

n, nper = 100, 100
phi_hold = np.zeros((n+1, ny, nx))
phi_hold[0] = phi

for i in range(n):

    for j in range(nper):
        phi2 = 0.25*(np.roll(phi,  1, axis=0) +
                     np.roll(phi, -1, axis=0) +
                     np.roll(phi,  1, axis=1) +
                     np.roll(phi, -1, axis=1) )

        phi[do_me] = phi2[do_me]

    phi_hold[i+1] = phi

change = phi_hold[1:] - phi_hold[:-1]

places = [(32, 20), (54,25), (11,32), (3, 12)]

plt.figure()
plt.imshow(change[50])
for (x, y) in places:
    plt.text(x, y, "WOW", fontsize=16)
plt.text(5, 95, "Don't use Jet!", color="white", fontsize=20)
plt.show()

questionAnswers(1)

yourAnswerToTheQuestion