Como faço para plotar em tempo real em um loop while usando o matplotlib?
Eu estou tentando plotar alguns dados de uma câmera em tempo real usando o OpenCV. No entanto, a plotagem em tempo real (usando o matplotlib) não parece estar funcionando.
Eu isolei o problema neste exemplo simples:
fig = plt.figure()
plt.axis([0, 1000, 0, 1])
i = 0
x = list()
y = list()
while i < 1000:
temp_y = np.random.random()
x.append(i)
y.append(temp_y)
plt.scatter(i, temp_y)
i += 1
plt.show()
Espero que este exemplo plote 1000 pontos individualmente. O que realmente acontece é que a janela aparece com o primeiro ponto aparecendo (ok com isso), então espera que o loop termine antes de preencher o resto do gráfico.
Alguma idéia de por que não estou vendo pontos preenchidos um de cada vez?