Os dashboards de análise dependem das suas visualizações. Desenvolvemos uma abordagem sistemática para apresentar dados complexos de maneiras instantaneamente compreensíveis e acionáveis.
Seleção de Biblioteca de Gráficos
Usamos diferentes bibliotecas de gráficos com base em necessidades específicas:
- Recharts: Nossa biblioteca principal para gráficos padrão — de linha, barra, área e pizza. É nativa do React, altamente personalizável e lida bem com dimensionamento responsivo.
- Chart.js: Usado para visualizações especializadas onde o Recharts fica aquém, especialmente gráficos de donut animados e gráficos de radar.
- SVG Personalizado: Para visualizações únicas como gráficos de funil e barras de comparação, construímos componentes SVG personalizados para controle total.
Implementação do Globo 3D
O globo interativo é o elemento visual característico da Zenovay, mostrando localizações de visitantes em tempo real:
- Mapbox GL JS: Alimenta a renderização 3D com aceleração WebGL para rotação e zoom suaves a 60fps.
- Marcadores personalizados: Os pings de visitantes são círculos animados que pulsam ao chegar e desaparecem após 10 segundos.
- Conexões em arco: Linhas conectando visitantes aos seus destinos usam curvas de Bezier quadráticas.
- Design de fallback: Uma representação 2D animada em CSS carrega quando o WebGL não está disponível.
Visualização de Heatmap
Heatmaps de clique e rolagem requerem escalonamento cuidadoso de cores:
- Gradiente de cor: Azul (frio) → Verde → Amarelo → Vermelho (quente) proporciona percepção intuitiva de densidade.
- Escalonamento logarítmico: Aplicamos transformação logarítmica para evitar que pontos de calor dominem toda a visualização.
- Renderização de sobreposição: Os heatmaps são renderizados como sobreposições de canvas em capturas de tela de páginas para alinhamento perfeito.
- Inspeção interativa: Passar o mouse revela contagens exatas de cliques e seletores de elementos.
Escalas de Cor para Análise
O uso consistente de cores ajuda os usuários a interpretar dados rapidamente:
- Métricas de desempenho: Verde (bom) → Amarelo (atenção) → Vermelho (crítico) para taxas de rejeição, tempos de carregamento, etc.
- Valor do visitante: A intensidade de azul correlaciona-se com a pontuação do visitante (0-100), mais escuro significa maior valor.
- Fontes de tráfego: Cada tipo de fonte tem uma cor dedicada — direto (azul), orgânico (verde), social (roxo), referência (laranja).
- Gráficos de comparação: O período atual usa azul primário, o período anterior usa cinza suave para distinção clara.
Design Responsivo de Gráficos
Os gráficos devem funcionar em todos os tamanhos de tela:
- Preservação da proporção: Os gráficos mantêm 16:9 no desktop, mudam para 4:3 no mobile para melhor uso vertical.
- Truncamento de rótulos: Rótulos longos nos eixos são truncados com reticências em telas pequenas, texto completo nas dicas.
- Posicionamento de legenda: Legendas na parte inferior no mobile, laterais no desktop para maximizar a área do gráfico.
- Interações por toque: Alvos de toque maiores e gestos de deslizamento para navegação no intervalo de tempo em dispositivos touch.
Diretrizes de Animação
O movimento deve aprimorar a compreensão, não distrair:
- Carregamento inicial: Os gráficos animam do zero na primeira renderização (300ms ease-out) para chamar atenção aos dados.
- Atualizações de dados: Transições entre estados de dados usam duração de 200ms para manter o contexto enquanto mostram a mudança.
- Estados de hover: Resposta imediata (sem atraso) para dicas e efeitos de destaque.
- Movimento reduzido: Todas as animações respeitam prefers-reduced-motion e podem ser desativadas.