import pandas as pd
df = pd.read_csv('/content/sample_data/imigrantes_canada.csv')
df.head()
df.set_index('País', inplace = True)
df
arg_br_imigrates = df.loc[['Brasil', 'Argentina']].drop(['Continente', 'Região', 'Total'], axis = 1).T
arg_br_imigrates.head()
arg_br_dict = {'ano':arg_br_imigrates['Argentina'].index.tolist(), 'imigrantes_arg':arg_br_imigrates['Argentina'].values.tolist(),
'imigrantes_br':arg_br_imigrates['Brasil'].values.tolist()}
dados_arg_br = pd.DataFrame(arg_br_dict)
dados_arg_br
dados_arg_br['ano'] = dados_arg_br['ano'].astype(int)
import plotly.graph_objs as go
fig = go.Figure()
for i in dados_arg_br.columns[1:3]:
fig.add_trace(
go.Scatter(x=[dados_arg_br['ano'].iloc[0]], y=[dados_arg_br[i].iloc[0]], mode='lines', name='Imigrantes da Argentina', line=dict(width=4))
)
fig.update_layout(
title=dict(
text='<b>Imigração do Brasil para o Canadá no período de 1980 a 2013</b>',
x=0.12,
xanchor='left',
font=dict(size=20)
),
xaxis=dict(range=[1980, 2013], autorange=False, title='<b>Ano</b>'),
yaxis=dict(range=[0, 3000], autorange=False, title='<b>Número de imigrantes</b>'),
updatemenus=[dict(
type='buttons',
showactive=False,
buttons=[dict(
label='Play',
method='animate',
args=[None, {'frame': {'duration': 100, 'redraw': True}, 'fromcurrent': True, 'transition': {'duration': 300}}]
)]
)],
width=1000,
height=500
)
frames = []
for i in range(len(dados_arg_br)):
frames.append(go.Frame(
data=[
go.Scatter(x=dados_arg_br['ano'].iloc[:i+1], y=dados_arg_br['imigrantes_br'].iloc[:i+1], mode='lines', name='Imigrantes Brasil'),
go.Scatter(x=dados_arg_br['ano'].iloc[:i+1], y=dados_arg_br['imigrantes_arg'].iloc[:i+1], mode='lines', name='Imigrantes Argentina')
]
))
fig.frames = frames
fig.show()