Estou tentando criar uma simulação pyplot usando plt.pause() mas não consigo fazer nem o exemplo mais simples funcionar. Este é o código :
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(19680801)
data = np.random.random((50, 50, 50))
fig, ax = plt.subplots()
for i, img in enumerate(data):
ax.clear()
ax.imshow(img)
ax.set_title(f"frame {i}")
plt.pause(0.1)
O problema parece ter algo a ver com a última linha do código (plt.pause(0.1)). Sem esta linha, a saÃda final mostra o quadro final da simulação – quadro 49 (indicando que todo o loop foi concluÃdo). Se eu incluir a linha final e executar a simulação, a saÃda para no primeiro quadro – quadro 0 (e a simulação não avança para a próxima etapa do loop). Também tentei definir plt.pause(0.0) mas teve exatamente o mesmo efeito que defini-lo para qualquer outro número.
Estou no Mac, usando python 3.12 no Jupyter Notebook 7.2.1. Eu agradeceria qualquer conselho. Obrigado.
Acho que este exemplo não foi feito para funcionar em notebooks Jupyter. Fazer com que a animação matplotlib seja executada em notebooks pode ser complicado....
Experimente este exemplo mÃnimo para começar. Funciona?:
consulte Animações inline no Jupyter para obter mais informações (este exemplo também foi retirado daÃ)