O que são desenhos dos maias
Desenhos dos maias são uma técnica de visualização de dados criada pelo pesquisador David Maya em 2016. Eles juntam uma tabela numérica com um diagrama visual em cima, tudo compacto. O objetivo é mostrar múltiplas variáveis e relações entre entidades de uma vez só, sem precisar de gráficos separados para cada métrica. O diagrama funciona assim: você tem entidades representadas por nós posicionados no espaço, e as linhas entre eles indicam conexões ou relações. A tabela ao lado traz os valores numéricos de cada entidade e de cada conexão. O resultado é mais denso que um grafo comum, porque carrega informações quantitativas junto com a topologia.
Como montar desenhos dos maias na prática
A parte técnica é mais simples do que parece. Você precisa de três coisas: uma matriz de adjacência (quem se conecta com quem), os atributos de cada nó e os pesos das arestas. A partir daí, é escolher uma ferramenta e deixar o layout resolver a posição. Eu costumo usar o D3.js para projetos customizados. O processo básico é: transformar seus dados em JSON com a estrutura correta, aplicar um force-directed layout ou Force Atlas 2, e sobrepor a tabela com os valores. O D3 já vem com simulações de força que geram posições razoáveis sem configuração complexa. Se quiser algo mais rápido, bibliotecas como vis-network ou sigma.js também funcionam, mas oferecem menos controle visual.
O ponto que mais trava as pessoas é o layout. Nós com alto grau de conexão tendem a ficar no centro do diagrama, o que pode criir um efeito de "espaguete" onde muitas arestas se sobrepõem. A solução prática que eu uso é aplicar uma força de repulsão mais forte entre os nós centrais e limitar o comprimento máximo das arestas. Isso distribui melhor a densidade visual sem distorcer a topologia real.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Pegadinhas que ninguém avisa
Uma coisa que os tutoriais não mencionam é que desenhos dos maias quebram rapidamente quando você tem mais de 25 entidades. A tabela lateral fica ilegível e o diagrama vira um emaranhado. Eu passei uma semana tentando ajustar o layout de um grafo com 42 nós e desisti. O workaround foi subdividir o grafo em comunidades menores e criar um desenho dos maias por comunidade, com um link visual entre elas. Outro problema: a escolha da linguagem visual dos pesos das arestas. Usar espessura de linha é o óbvio, mas funciona mal quando os pesos variam muito (por exemplo, de 1 a 10.000). O resultado é que as arestas leves desaparecem e as pesadas ocupam tudo. Eu mudei para usar cor com um gradiente controlado, mantendo a espessura fixa em 1 ou 2 pixels. A legibilidade melhorou significativamente.
A vantagem real e quando não usar
A força dos desenhos dos maias é mostrar correlações entre métricas e estrutura de rede simultaneamente. Se você precisa responder perguntas como "quais nós têm alta centralidade e também valores altos na variável X", o desenho faz isso de forma mais eficiente que qualquer dashboard com múltiplos gráficos. Mas há cenários onde não faz sentido. Se suas relações são puramente hierárquicas, um dendrograma ou treemap resolve melhor. Se tem apenas métricas sem rede, uma tabela comum com ordenação é mais direta. Desenhos dos maias brilham quando você tem dados relacionais com múltiplas dimensões numéricas anexadas, e precisa dessa visão integrada para tomada de decisão.
Para começar, o repositório original do David Maya no GitHub tem exemplos funcionais em Python usando networkx e matplotlib. É o ponto de partida mais direto. A curva de aprendizado é menor se você já tiver familiaridade com grafos e visualização de dados, mas mesmo quem está começando consegue fazer um protótipo funcional em poucas horas.