Как построить график в реальном -времени в цикле while, используя matplotlib?

Я пытаюсь построить некоторые данные с камеры в режиме реального времени, используя OpenCV. Однако построение графика в реальном -времени (с использованием matplotlib ), похоже, не работает.

Я выделил проблему в этот простой пример:

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

Я ожидаю, что этот пример будет отображать 1000 точек по отдельности. Что на самом деле происходит, так это то, что появляется окно с первой точкой, показывающей (в порядке с этой ), затем ждет завершения цикла, прежде чем он заполнит остальную часть графика.

Любые мысли, почему я не вижу точки, заполненные по одной?

211
задан Velimir Mlaker 5 April 2019 в 03:00
поделиться