I want to provide a brief example on how you can create plot-based animations with Matplotlib in Python. Below Python code implements a simple exponential growth animation. Documentation is added directly to the code in the form of comments.
# setting jupyter notebook to display animation %matplotlib notebook # importing relevant modules & packages import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation # creating x and y coordinate data lists x = [] y = [] # set matplotlib figure size plt.figure(figsize=(5,5)) # create subplot figure and axes handlers fig, ax = plt.subplots() # set axis limits, for x and y axis ax.set_xlim(0,100) ax.set_ylim(0,1.1**100) # set axis labels ax.set_xlabel("time", fontsize = 14) ax.set_ylabel("observation value", fontsize = 14) # set title ax.set_title("Animating exponential growth with Matplotlib", fontsize = 14) # create a line plot reference; # at the same time set line color etc. line, = ax.plot(0,0, color='red', linestyle='-', linewidth=2, markersize=2) # define an animation function def frameAnimation(i): # set x and y values x.append(i) y.append(1.10**i) # update line plot line.set_xdata(x) line.set_ydata(y) # return line object return line, # create animation object animation = FuncAnimation(fig, # the figure to assign animation too func = frameAnimation, # the frame rendering function frames = np.arange(0,100,0.1), # the steps and amount of frames interval = 10) # invertals is the time per frame, in ms # show animation plt.show()

Data scientist focusing on simulation, optimization and modeling in R, SQL, VBA and Python
Leave a Reply