Jupyter notebookでMatplotlibを使ってグラフのリアルタイム描画

https://stackoverflow.com/questions/21360361/how-to-dynamically-update-a-plot-in-a-loop-in-ipython-notebook-within-one-cell

%matplotlib inline
import time
import pylab as pl
from IPython import display
for i in range(10):
    pl.plot(pl.randn(100))
    display.clear_output(wait=True)
    display.display(pl.gcf())
    time.sleep(1.0)

PYNQ上でのコード

%matplotlib inline
import matplotlib.pyplot as plt
from IPython import display
import numpy as np
import time
ts = np.zeros(10)
ys = np.zeros(10)
t = 1
plt.ion()
plt.figure()
plt.show()
li, = plt.plot(ts, ys)
plt.ylim(-10, 200)
plt.xlabel("time[s]")
plt.ylabel("Temperature[Celsius]")
while True:
    ts = np.append(ts,t)
    ts = np.delete(ts, 0)
    t += 1
    arduino.write("M105\n")
    y = arduino.read_hotend_temp()
    ys = np.append(ys,y)
    ys = np.delete(ys, 0)
    li.set_xdata(ts)
    li.set_ydata(ys)         
    plt.xlim(min(ts), max(ts))
    plt.draw()
    display.clear_output(wait=True)
    display.display(plt.gcf())
    time.sleep(1)