1
resposta

Tem como colocar label plotando em uma linha?

Minha solução inicialmente foi fazer a mesma coisa que foi feita para o Brasil

argentina = df.loc['Argentina', anos]
argentina_dict = {'ano': argentina.index.tolist(), 'imigrantes': argentina.values.tolist()}
dados_argentina = pd.DataFrame(argentina_dict)
dados_argentina

e plotar assim:

plt.figure(figsize=(8,4))
plt.plot(dados_brasil['ano'], dados_brasil['imigrantes'], dados_argentina['imigrantes'])
plt.title('Imigração do Brasil e Argentina para o Canadá')
plt.xlabel('Ano')
plt.ylabel('Número de imigrantes')
plt.xticks(['1980', '1985', '1990', '1995', '2000', '2005', '2010'])
plt.show()

Só não achei como colocar as labels dessa forma

1 resposta

E aí, Lucas! Tudo tranquilo?

Vou te dar uma mãozinha aqui! Quando você quer plotar várias linhas no mesmo gráfico usando o Matplotlib, você precisa especificar os dados pra cada linha individualmente. No seu caso, você tá tentando passar as labels dentro do método plt.plot(), mas isso não tá certo.

Primeiro, você vai plotar cada linha separadamente e depois colocar as labels. Olha só como ficaria:

plt.figure(figsize=(8, 4))

# Plotando os dados do Brasil
plt.plot(dados_brasil['ano'], dados_brasil['imigrantes'], label='Brasil')

# Plotando os dados da Argentina
plt.plot(dados_argentina['ano'], dados_argentina['imigrantes'], label='Argentina')

# Configurando título e labels
plt.title('Imigração do Brasil e Argentina para o Canadá')
plt.xlabel('Ano')
plt.ylabel('Número de imigrantes')
plt.xticks(['1980', '1985', '1990', '1995', '2000', '2005', '2010'])

# Mostrando as labels no gráfico
plt.legend()

# Exibindo o gráfico
plt.show()

Repare que eu adicionei o parâmetro label em cada chamada de plt.plot(). Depois, chamei plt.legend() pra mostrar as labels no gráfico.

Com isso, você vai ter as duas linhas plotadas e as labels aparecendo certinho no gráfico.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software