Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Erro ao gerar gráfico

Fui gerar um gráfico e tive problemas, ele acabou invertendo os eixos (x,y) no primeiro gráfico e não entendi o por que, na segunda foto tem exatamente, o que ele deveria ter feito, sei que é um problema simples porém não consegui resolver.

fig, axs = plt.subplots(1, 2, figsize = (15,5))
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()

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade ) Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!
  1. 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.