2
respostas

Dúvida no eixo x, gráfico de dispersão

Como faço para desconsiderar os meses em que não tem dado? Meu código está sim:

fig, ax = plt.subplots(figsize=(12, 6))

fig = sns.scatterplot(data=dados,x='Data',y="MP2.5",hue='Local',style='Local',palette=['blue','orange',
                'green','red'],size ='MP2.5',legend='brief', ax=ax)

plt.xticks(rotation=50)
ax.set_xlabel('Data', fontsize=12)
ax.set_ylabel('Concentration of MP2.5 (μg.m$^{-3}$)', fontsize=12)
plt.show()

já tentei filtrar os dados antes e dropar as datas e não deu certo. Alguém pode me ajudar? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Oi, Priscila! Tudo bem com você?

Para contornar esse problema, podemos criar um filtro que resgata apenas os registros cujo valor de "MP2.5" não é nulo. Isso é possível a partir do seguinte comando:

dados_filtrados = dados.dropna(subset=['MP2.5']).copy()

Neste caso, usamos o método dropna, da biblioteca Pandas, para descartar as linhas com informações nulas e, logo em seguida, armazenamos os valores desejados no DataFrame dados_filtrados.

Após isso, basta replicar os seus códigos para a geração do gráfico, lembrando apenas de referenciar o nosso novo DataFrame (dados_filtrados). Desse modo, teremos uma visualização que expõe apenas as datas que contêm dados!

Espero que essa sugestão seja útil para você, Priscila! Contudo, vale ressaltar que como é um assunto externo aos cursos da Alura e que não tenho acesso ao cenário completo do projeto, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema!

Caso tenha curiosidade em saber um pouco mais sobre o método dropna, recomendo a leitura do material abaixo:

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigada!