Create a gist now

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Dynamic plotting for matplotlib
"Dynamic plotting in matplotlib. Copy and paste into a Jupyter notebook."
# written October 2016 by Sam Greydanus
%matplotlib notebook
import matplotlib.pyplot as plt
import numpy as np
import time
def plt_dynamic(x, y, ax, colors=['b']):
for color in colors:
ax.plot(x, y, color)
fig.canvas.draw()
fig,ax = plt.subplots(1,1)
ax.set_xlabel('X') ; ax.set_ylabel('Y')
ax.set_xlim(0,360) ; ax.set_ylim(-1,1)
xs, ys = [], []
# this is any loop for which you want to plot dynamic updates.
# in my case, I'm plotting loss functions for neural nets
for x in range(360):
y = np.sin(x*np.pi/180)
xs.append(x)
ys.append(y)
if x % 30 == 0:
plt_dynamic(xs, ys, ax)
time.sleep(.2)
plt_dynamic(xs, ys, ax)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment