Instagram
youtube
Facebook
Twitter

Animate Charts with FuncAnimation

Description:

A Python program that creates an animated line chart using Matplotlib’s FuncAnimation class to dynamically update the chart over time.

Code Explanation:

import matplotlib.animation as animation: Imports the animation module from Matplotlib.
fig, ax = plt.subplots(): Sets up the plot canvas.
line, = ax.plot([], [], 'r-'): Initializes an empty red line.
init(): Defines the initial view with x and y axis limits.
update(frame): Appends new x and y values for each animation frame.
FuncAnimation(...): Connects the update function with the plot, creating a smooth animation.
frames=np.arange(...): Defines the range of frame values from 0 to 10, step 0.5.
plt.show(): Displays the animated chart.

 

Program:

import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np

# Create a figure and axis
fig, ax = plt.subplots()
x_data, y_data = [], []
line, = ax.plot([], [], 'r-')  # red line

# Initialize the plot
def init():
    ax.set_xlim(0, 10)
    ax.set_ylim(0, 100)
    return line,

# Update function for animation
def update(frame):
    x_data.append(frame)
    y_data.append(frame ** 2)
    line.set_data(x_data, y_data)
    return line,

# Create animation
ani = animation.FuncAnimation(fig, update, frames=np.arange(0, 10, 0.5),
                              init_func=init, blit=True, repeat=False)

# Show animation
plt.title("Animated Line Chart (y = x^2)")
plt.xlabel("X")
plt.ylabel("Y")
plt.grid(True)
plt.show()

 

Output: