Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. The Artist class contains Abstract base class for objects that render into a FigureCanvas. All visible elements in a figure are subclasses of Artist.
matplotlib.artist.Artist.set_animated() method
The set_animated() method in artist module of matplotlib library is used to set the artist’s animation state.
Syntax: Artist.set_animated(self, b)
Parameters: This method accepts the following parameters.
- b: This parameter is the boolean value.
Returns: This method does not return any value.
Below examples illustrate the matplotlib.artist.Artist.set_animated() function in matplotlib:
Example 1:
# Implementation of matplotlib function from matplotlib.artist import Artist import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation data = np.array([[1, 2, 3, 4, 5], [7, 4, 9, 2, 3]]) fig = plt.figure() ax = plt.axes(xlim =(0, 20), ylim =(0, 20)) line, = ax.plot([], [], 'r-') annotation = ax.annotate('', xy =(data[0][0], data[1][0])) Artist.set_animated(annotation, True) def init(): return line, annotation def update(num): newData = np.array([[1 + num, 2 + num / 2, 3, 4 - num / 4, 5 + num], [7, 4, 9 + num / 3, 2, 3]]) line.set_data(newData) return line, annotation anim = animation.FuncAnimation(fig, update, frames = 25, init_func = init, interval = 200, blit = True) fig.suptitle('matplotlib.artist.Artist.set_animated()\ function Example', fontweight ="bold") plt.show() |
Output:
Example 2:
# Implementation of matplotlib function from matplotlib.artist import Artist import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig, ax = plt.subplots() ax.set_xlim([-1, 1]) ax.set_ylim([-1, 1]) L = 50theta = np.linspace(0, 2 * np.pi, L) r = np.ones_like(theta) x = r * np.cos(theta) y = r * np.sin(theta) line, = ax.plot(1, 0, 'ro') annotation = ax.annotate( 'annotation', xy =(1, 0), xytext =(-1, 0), arrowprops = {'arrowstyle': "->"} ) Artist.set_animated(annotation, False) def update(i): new_x = x[i % L] new_y = y[i % L] line.set_data(new_x, new_y) annotation.set_position((-new_x, -new_y)) annotation.xy = (new_x, new_y) return line, annotation ani = animation.FuncAnimation( fig, update, interval = 500, blit = False) fig.suptitle('matplotlib.artist.Artist.set_animated()\ function Example', fontweight ="bold") plt.show() |
Output:
