- Espero que ajude :
O problema que você está enfrentando é devido a um erro de sintaxe na linha onde você plota o gráfico de linha. Especificamente, você está fechando o parêntese da seleção da coluna 'Ano' antes de passar a coluna 'Imigrantes do Brasil' como argumento para a função plot. Isso faz com que o plot interprete os dados de forma incorreta, resultando na inversão dos eixos.
Aqui está a correção do código:
import matplotlib.pyplot as plt fig, axs = plt.subplots(1, 2, figsize=(15, 5)) # Correção: Remova o parêntese fechado após dados_brasil['Ano'] axs[0].plot(dados_brasil['Ano'], dados_brasil['Imigrantes do Brasil']) axs[0].set_title('Imigrantes do Brasil para Canadá\n1980 à 2013') axs[0].set_xlabel('Ano') axs[0].set_ylabel('Número de imigrantes') axs[0].xaxis.set_major_locator(plt.MultipleLocator(5)) axs[1].boxplot(dados_brasil['Imigrantes do Brasil']) axs[1].set_title('Boxplot da imigração do Brasil para Canadá\n1980 à 2013') axs[1].set_xlabel('Brasil') axs[1].set_ylabel('Número de imigrantes') plt.show()
Explicação da correção:
Erro original: axs[0].plot(dados_brasil['Ano']), dados_brasil['Imigrantes do Brasil']
O parêntese fechado após dados_brasil['Ano'] faz com que o plot receba apenas a coluna 'Ano' como argumento, e a coluna 'Imigrantes do Brasil' é tratada como um segundo argumento separado, o que causa a inversão dos eixos.
Correção: axs[0].plot(dados_brasil['Ano'], dados_brasil['Imigrantes do Brasil'])
Agora, ambas as colunas são passadas corretamente como argumentos para a função plot, onde dados_brasil['Ano'] é o eixo x e dados_brasil['Imigrantes do Brasil'] é o eixo y.
Resultado esperado:
O primeiro gráfico (axs[0]) deve mostrar a linha correta com os anos no eixo x e o número de imigrantes no eixo y.
O segundo gráfico (axs[1]) já está correto e deve exibir o boxplot da imigração.