Matplotlib es una increíble biblioteca de visualización en Python para gráficos 2D de arrays. Matplotlib es una biblioteca de visualización de datos multiplataforma basada en arrays NumPy y diseñada para funcionar con la pila SciPy más amplia.
matplotlib.animation.FuncAnimation
La clase matplotlib.animation.FuncAnimation se usa para hacer animaciones llamando repetidamente a la misma función (es decir, func).
Sintaxis: class matplotlib.animation.FuncAnimation(fig, func, frames=Ninguno, init_func=Ninguno, fargs=Ninguno, save_count=Ninguno, *, cache_frame_data=True, **kwargs)
Paramwrite.geeksforgeeks.org/wp-admin/post .php?post=1675187&action=editores:
- fig: es el objeto de figura utilizado para dibujar, cambiar el tamaño o cualquier otro evento necesario.
Cualquier argumento posicional adicional se puede proporcionar a través del parámetro fargs.
- func: es la función invocable que se llama cada vez. El siguiente valor en marcos se da a través del primer argumento. Cualquier otro argumento posicional adicional se proporciona a través del parámetro fargs. Si el valor de blit es igual a True, func devuelve una iteración de todos los artistas que se modificarán o crearán. El algoritmo de borrado utiliza estos datos para decidir qué partes de la figura deben actualizarse. Si blit== False, el valor devuelto no se usa o se omite.
- marcos: es iterable, un número entero, una función generadora o ninguna. Es un argumento opcional. Es la fuente de datos que se pasará a func y cada fotograma de la animación.
- init_func: es una función invocable opcional que se usa para dibujar un marco claro.
- fargs: es un parámetro opcional que es una tupla o ninguno, que es un argumento adicional que debe pasarse a cada llamada a func.
- save_count: es un número entero que actúa como respaldo para la cantidad de valores de los marcos a la memoria caché. Esto solo se usa si la cantidad de cuadros no se puede deducir de los cuadros, es decir, cuando es un iterador sin longitud o un generador. Su valor predeterminado es 100.
- intervalo: Es un valor entero opcional que representa el retraso entre cada cuadro en milisegundos. Su valor predeterminado es 100.
- repeat_delay: Es un valor entero opcional que agrega un retraso en milisegundos antes de repetir la animación. El valor predeterminado es Ninguno.
- blit: es un argumento booleano opcional que se usa para controlar el blit para optimizar el dibujo.
- cache_frame_data: es un argumento booleano opcional que se usa para controlar el almacenamiento en caché de datos. Por defecto es Verdadero.
Métodos de la clase:
Métodos | Descripción |
---|---|
__init__(self, fig, func[, frames, …]) | Inicializarse a sí mismo. |
new_frame_seq(auto) | Devuelve una nueva secuencia de información de cuadro. |
new_saved_frame_seq(auto) | Devuelve una nueva secuencia de información de fotogramas guardados/almacenados. |
save(self, filename[, escritor, fps, dpi, …]) | Guarde la animación como un archivo de película dibujando cada fotograma. |
to_html5_video(self[, embed_limit]) | Convierta la animación en una etiqueta HTML5 <video>. |
to_jshtml(self[, fps, incrustar_fotogramas, …]) | Generar representación HTML de la animación. |
Ejemplo 1:
Python3
import matplotlib.animation as animation import matplotlib.pyplot as plt import numpy as np # creating a blank window # for the animation fig = plt.figure() axis = plt.axes(xlim =(-50, 50), ylim =(-50, 50)) line, = axis.plot([], [], lw = 2) # what will our line dataset # contain? def init(): line.set_data([], []) return line, # initializing empty values # for x and y co-ordinates xdata, ydata = [], [] # animation function def animate(i): # t is a parameter which varies # with the frame number t = 0.1 * i # x, y values to be plotted x = t * np.sin(t) y = t * np.cos(t) # appending values to the previously # empty x and y data holders xdata.append(x) ydata.append(y) line.set_data(xdata, ydata) return line, # calling the animation function anim = animation.FuncAnimation(fig, animate, init_func = init, frames = 500, interval = 20, blit = True) # saves the animation in our desktop anim.save('growingCoil.mp4', writer = 'ffmpeg', fps = 30)
Producción:
Ejemplo 2:
Python3
from matplotlib import pyplot as plt import numpy as np from matplotlib.animation import FuncAnimation # initializing a figure in # which the graph will be plotted fig = plt.figure() # marking the x-axis and y-axis axis = plt.axes(xlim =(0, 4), ylim =(-2, 2)) # initializing a line variable line, = axis.plot([], [], lw = 3) # data which the line will # contain (x, y) def init(): line.set_data([], []) return line, def animate(i): x = np.linspace(0, 4, 1000) # plots a sine graph y = np.sin(2 * np.pi * (x - 0.01 * i)) line.set_data(x, y) return line, anim = FuncAnimation(fig, animate, init_func = init, frames = 200, interval = 20, blit = True) anim.save('continuousSineWave.mp4', writer = 'ffmpeg', fps = 30)
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA