O código desenvolvido consiste em um sistema completo de processamento, tratamento e visualização
gráfica de dados de turbidez entre os anos de 2018 e 2021. Ele foi estruturado com o objetivo de
permitir uma análise exploratória simples, porém funcional, utilizando diferentes formas de
representação visual. O programa integra leitura de arquivos, limpeza e transformação de dados,
geração de múltiplos tipos de gráficos e a construção de uma interface gráfica interativa, tornando o
processo acessível mesmo para usuários sem conhecimento aprofundado em programação.
A primeira etapa do código é responsável pela importação e carregamento dos dados. Para isso, a função
carregar_dados() utiliza a biblioteca Pandas para ler um arquivo CSV contendo as medições brutas. Nessa
fase, são tratados aspectos como codificação do texto e prevenção de problemas relacionados ao
carregamento de grandes volumes de informação. Em seguida, a função tratar_dados() executa o pré-
processamento dos dados, removendo linhas vazias, eliminando colunas indesejadas geradas
automaticamente e convertendo colunas numéricas para tipos adequados. Esse processo de
higienização garante que os dados utilizados nas visualizações sejam consistentes e confiáveis, evitando
distorções nos gráficos e análises subsequentes.
Posteriormente, o código incorpora a função filtrar_anos(), que automatiza a seleção das colunas
referentes às médias anuais de turbidez. Essa função identifica os atributos que seguem o padrão
“MED_ano”, restringindo-os aos anos entre 2018 e 2021. A utilização dessa filtragem torna o programa
flexível, permitindo sua aplicação em diferentes bases de dados que sigam o mesmo padrão de
nomeação.
A etapa de visualização gráfica é composta por quatro funções distintas, cada uma destinada a gerar um
tipo específico de gráfico: linha, pizza, barras e treemap. A função grafico_linha() produz uma
visualização temporal utilizando um gráfico de linha interativo, permitindo ao usuário visualizar a
evolução da turbidez ao longo dos anos. Já grafico_pizza() apresenta a proporção relativa de cada ano,
favorecendo a interpretação percentual dos valores médios. A função grafico_barras() organiza os dados
em barras verticais, destacando comparações diretas entre os anos avaliados. Por fim, grafico_treemap()
utiliza o layout em blocos proporcionais para representar visualmente a magnitude dos valores,
fornecendo uma alternativa gráfica menos convencional, porém eficiente para identificar contrastes.
Um diferencial relevante do código é a utilização das bibliotecas mplcursors e squarify, que adicionam
funcionalidades de interatividade e permitem a construção dos gráficos treemap. A interatividade
possibilita que o usuário obtenha valores precisos apenas passando o cursor sobre os elementos do
gráfico, enriquecendo a experiência de análise.
Para facilitar a utilização do sistema e torná-lo acessível a diferentes perfis de usuários, o código
implementa ainda uma interface gráfica construída em Tkinter. Essa interface reúne botões que
acionam, de forma simples e direta, cada um dos tipos de gráficos disponíveis. Dessa forma, o usuário
não precisa interagir diretamente com o código, bastando selecionar a visualização desejada em uma
janela intuitiva.
Por fim, a função main() centraliza todo o fluxo de execução. Ela verifica a existência de um arquivo
previamente tratado em formato Excel; caso exista, o código o utiliza diretamente. Caso contrário, o
tratamento dos dados é realizado e salvo para uso futuro, garantindo economia de tempo e
padronização das análises. Após essa verificação, a interface gráfica é iniciada com os dados prontos para
visualização.
Em conjunto, o programa apresenta um fluxo completo que abrange desde o carregamento inicial dos
dados até sua exploração visual através de uma interface amigável. O código foi estruturado de maneira
modular, clara e organizada, permitindo manutenção futura e possíveis expansões, além de servir como
uma ferramenta funcional para análise de dados ambientais referentes à turbidez.