Animações básicas com Matplotlib

Quero fornecer um breve exemplo de como você pode criar animações baseadas em plotagem com Matplotlib em Python. O código Python abaixo implementa uma animação de crescimento exponencial simples. A documentação é adicionada diretamente ao código na forma de comentários.

# configurando o notebook jupyter para exibir animação
%matplotlib notebook

# importando módulos e pacotes relevantes
importar numpy como np
importar matplotlib .pyplot como plt
de matplotlib .animation import FuncAnimation

# criando listas de dados de coordenadas x e y
x = []
y = []

# define o tamanho da figura do matplotlib
plt.figure(figsize=(5,5))

# cria figura de subtrama e manipuladores de eixos
figo, machado = plt.subplots()

# define os limites do eixo, para os eixos x e y
ax.set_xlim(0,100)
ax.set_ylim(0,1.1**100)

# definir rótulos de eixo
ax.set_xlabel("tempo",
              tamanho da fonte = 14)
ax.set_ylabel("valor da observação",
              tamanho da fonte = 14)

# definir título
ax.set_title("Animando crescimento exponencial com Matplotlib ",
            tamanho da fonte = 14)

# cria uma referência de plotagem de linha;
# ao mesmo tempo, defina a cor da linha, etc.
linha, = ax.plot(0,0,
                cor='vermelho',
                estilo de linha='-',
                largura de linha = 2,
                tamanho do marcador = 2)

# define uma função de animação
def frameAnimation(i):
    # define os valores de x e y
    x.apêndice(i)
    y.append(1.10**i)
    # atualizar gráfico de linha
    line.set_xdata(x)
    line.set_ydata(y)
    # objeto de linha de retorno
    linha de retorno,

# cria objeto de animação
animation = FuncAnimation(fig, # a figura para atribuir a animação também
                          func = frameAnimation, # a função de renderização do quadro
                          frames = np.arange(0,100,0.1), # passos e quantidade de frames
                         intervalo = 10) # invertals é o tempo por quadro, em ms

# mostrar animação
plt.show()

Leave a Reply

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Close

Meta