Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] graph_objs

Una duda el ejecutar el codigo de la sección: "Para saber más: animación de gráficos para mostrar cambios durante un lapso", de el Aula 5 - Gráficos interactivos con Plotly , el boton de play no esta haciendo ninguna accion y deberia comenzar a generar la grafica dinamicamente, copie el codigo, tambien vaide el codigo de otro compañero igual aparece la grafica en Blanco y el boton play no me funciona, Quisiera saber que debo tener encuenta para que el botón funcione . Muchas Gracias

1 respuesta
solución!

Solucionado, adjunto el codigo:

Colombia:

import plotly.graph_objs as go

# Criando uma figura
fig = go.Figure()

# Adicionando a linha do gráfico e definindo a espessura da linha
fig.add_trace(
    go.Scatter(x=[datos_col['Año'].iloc[0]], y=[datos_col['Inmigrantes'].iloc[0]], mode='lines', name='Inmigrantes', line=dict(width=4))
)

# Definir la configuración del layout
fig.update_layout(
    title=dict(
        text='<b>Inmigración de Colombianos hacia Canadá en el periodo de 1980 a 2013</b>',
        x=0.1,
        xanchor='left',
        font=dict(size=18)
    ),
    xaxis=dict(
        range=[int(datos_col['Año'].iloc[0]), int(datos_col['Año'].iloc[-1])],  # Set the x-axis range to cover all years
        autorange=False,
        title='<b>Año</b>',
        tickmode='linear',  # Use linear tick mode
        dtick=5 # Set tick interval to 5 years
    ),
    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
)

# Definir la configuración de la animación
frames = [go.Frame(data=[go.Scatter(x=datos_col['Año'].iloc[:i+1], y=datos_col['Inmigrantes'].iloc[:i+1])]) for i in range(len(datos_col))]
fig.frames = frames

# Mostrar la figura
fig.show()

Brasil y Argentina

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))
)
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))
)


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=[int(datos_brasil['Año'].iloc[0]), int(datos_brasil['Año'].iloc[-1])],  # Set the x-axis range to cover all years
        autorange=False,
        title='<b>Año</b>',
        tickmode='linear',  # Use linear tick mode
        dtick=5 # Set tick interval to 5 years
    ),
    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_data = [
        go.Scatter(x=datos_brasil['Año'].iloc[:i+1], y=datos_brasil['Inmigrantes'].iloc[:i+1]),
        go.Scatter(x=datos_argentina['Año'].iloc[:i+1], y=datos_argentina['Inmigrantes'].iloc[:i+1])
    ]
    frame = go.Frame(data=frame_data)
    frames.append(frame)
fig.frames = frames
fig.show()

fig.write_html('/content/inmigracion_brasil_argentina_canada_animado.html', full_html=True)