Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Creando Animación

Para este ejercicio cree el sig código en Colab.

import plotly.graph_objs as go

fig = go.Figure()

fig.add_trace(go.Scatter(
    x=[datos_brasil['Año'].iloc[0]],
    y=[datos_brasil['Inmigrantes'].iloc[0]],
    mode='lines',
    name='Inmigrantes de Brasil',
    line=dict(width=4, color='#1B5E20')  # Verde mate
))

fig.add_trace(go.Scatter(
    x=[datos_argentina['Año'].iloc[0]],
    y=[datos_argentina['Inmigrantes'].iloc[0]],
    mode='lines',
    name='Inmigrantes de Argentina',
    line=dict(width=4, color='#1565C0')  # Azul acero mate
))

fig.update_layout(
    title=dict(
        text='<b>Inmigración de Brasil y Argentina a Canadá en el período de 1980 a 2013</b>',
        x=0.1,
        font=dict(size=18)
    ),
    xaxis=dict(range=[1980, 2013], autorange=False, title='<b>Año</b>'),
    yaxis=dict(range=[0, 3000], autorange=False, title='<b>Número de inmigrantes</b>'),
    updatemenus=[dict(
        type='buttons',
        showactive=False,
        buttons=[dict(
            label='Play',
            method='animate',
            args=[None, {'frame': {'duration': 100, 'redraw': True},
                         'fromcurrent': True}]
        )]
    )],
    width=1200,
    height=600
)

frames = []
for i in range(len(datos_brasil)):
    frame = go.Frame(
        data=[
            go.Scatter(
                x=datos_brasil['Año'].iloc[:i+1],
                y=datos_brasil['Inmigrantes'].iloc[:i+1],
                line=dict(color='#1B5E20', width=4)
            ),
            go.Scatter(
                x=datos_argentina['Año'].iloc[:i+1],
                y=datos_argentina['Inmigrantes'].iloc[:i+1],
                line=dict(color='#1565C0', width=4)
            ),
        ],
        traces=[0, 1],
        name=str(i)
    )
    frames.append(frame)

fig.frames = frames

fig.show()

Animación

1 respuesta

¡Hola Randy, espero que estés bien!

Tu código para crear la animación con Plotly parece estar bien estructurado. Aquí hay algunas cosas que podrías verificar si la animación no está funcionando como esperas:

  1. Datos de Entrada: Asegúrate de que datos_brasil y datos_argentina estén correctamente cargados y que las columnas Año e Inmigrantes contengan los datos esperados. Puedes verificar esto imprimiendo las primeras filas de cada DataFrame.

    print(datos_brasil.head())
    print(datos_argentina.head())
    
  2. Rango de Ejes: Verifica que los rangos de los ejes x e y sean adecuados para los datos que tienes. Si los datos de inmigrantes superan los 3000, necesitarás ajustar el rango del eje y.

  3. Configuración de Animación: Asegúrate de que la configuración de los frames esté correctamente implementada. Cada frame debe tener los datos acumulados hasta ese punto en el tiempo.

  4. Errores en el Código: Revisa si hay errores en la consola de Colab que puedan estar afectando la ejecución del código.

Si todo parece estar en orden y el problema persiste, intenta ejecutar el código paso a paso para identificar dónde podría estar el problema.

Espero que estas sugerencias te ayuden a resolver el problema. ¡Bons estudios!