Python - Crear animación

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

Crear animación

Publicado por Federico Nahuel (2 intervenciones) el 28/05/2020 19:05:47
Buenas, me presento, soy Fede y acabo de registrarme en el foro.

Estoy buscando ayuda ya que estoy realizando un pequeño programa que resuelve la ecuación de la energía en un dominio mallado. Más allá del funcionamiento en sí del programa la duda la tengo al final.

El calculo me devuelve un vector con el resultado de la temperatura en cada celda, que graficada queda como en la imagen.

graficas

Como se ve en la imagen, puedo guardar el valor del vector en distintos momentos para poder graficarlos, pero lo que me gustaría hacer y no consigo es crear una animación en la que cada frame sea uno de los gráficos que obtengo, pudiendo mostrar la evolución en el tiempo de los resultados.

Gracias de antemano a quien pueda ayudarme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 3
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

Crear animación

Publicado por Federico Nahuel (2 intervenciones) el 28/05/2020 20:01:01
El código con el que realizo las gráficas actualmente es el siguiente:

1
2
3
4
for resultado in resultados:
    graficar(nodos, celdas, resultado)
 
plt.show()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def graficar(nodos, celdas, resultados):
 
    # Obtencion de las coordenadas x,y de los nodos -> puntos, x, y
    # Transformacion de los elementos de la malla a numero -> triangles
    # Triangulación de los nodos para crear los elementos segun el criterio de triangles
 
    puntos = np.asfarray(nodos, float)
    x = puntos[:, 0]
    y = puntos[:, 1]
    triangles = celdas.astype(np.float) - 1
    triang = mtri.Triangulation(x, y, triangles)
 
    # Transformacion de los resultados en un vector -> z
    z = [resultado[0] for resultado in resultados]
 
    # Graficar los elementos y los contornos
    plt.figure()
    tpc = plt.tripcolor(triang, z, cmap=cm.jet, edgecolors='k')
    plt.colorbar(tpc)
    plt.title('Evolución de T [K] con {} elementos'.format(len(triangles)))
    plt.xlabel('X [m]')
    plt.ylabel('Y [m]')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar