Я пытался выяснить, как сделать график обновления в реальном времени, используя Matplotlib, без использования FuncAnimation()
, потому что он был слишком медленным для моей конечной цели.Я прочитал Эта статья , в которой объясняется, как ускорить построение графиков в Matplotlib.Затем я попытался реализовать его метод с помощью метода графика в реальном времени , но, к сожалению, у меня все еще есть только базовые навыки Python / Matplotlib, чтобы сделать такую вещь.
Я смог пройти так далекокак создание предела x и y и создание пустой строки, которую я хотел бы обновить в цикле while со случайными числами на данный момент.Я могу создавать случайные числа каждый цикл, но я не могу обновить числа на графике.Я не хочу, чтобы значения x менялись, а значения y изменялись при обновлении.Например, что-то похожее на кардиомонитор.Вот мой следующий код, где я застрял:
import matplotlib.pyplot as plt
import random
x_len = 100
y_range = [-1,10]
xs = list(range(0,100))
ys = [0] * x_len
fig, ax = plt.subplots()
line, = ax.plot(xs,ys)
ax.set_ylim(y_range)
plt.show(block=False)
fig.canvas.draw()
while True:
y = random.randint(-10,10)
line.set_ydata(ys)
ax.draw_artist(ax.patch)
ax.draw_artist(line)
fig.canvas.flush_events()
print("one loop")
print(y)