Melhores Práticas de Visualização
Gráficos honestos, legíveis e acessíveis que comunicam decisões sem distorcer os dados.
Como Usar Esta Lista
- Aplique antes de exportar qualquer gráfico para stakeholders ou slides.
- Use na revisão de PR para notebooks, aplicativos Streamlit e geradores de relatórios.
- Combine com Plotando Dados Grandes quando os pontos excederem dezenas de milhares.
A - Escolha do Gráfico e Honestidade
- Combine o gráfico com a pergunta. Tendências = linha; partes do todo apenas quando houver poucas categorias e a soma for 100%.
- Gráficos de barras começam em zero. Eixo y truncado exagera as diferenças, a menos que a escala logarítmica seja explícita e rotulada.
- Evite eixos y duplos, a menos que necessário. Escalas diferentes confundem - prefira séries indexadas ou painéis separados.
- Ordene as categorias intencionalmente. Por valor, tempo ou ordem do domínio - nunca alfabeticamente por padrão para meses.
- Rotule as unidades nos títulos dos eixos. Dólares, porcentagem, contagem - não números crus.
B - Legibilidade e Acessibilidade
- Use paletas seguras para daltônicos.
seaborn colorblind,viridisou Okabe-Ito - não o arco-íris jet. - Não confie apenas na cor. Adicione marcadores, hachuras ou rótulos diretos para categorias.
- Limite a contagem de séries. Mais de ~6 linhas em um gráfico requer facetamento ou destaque de uma série.
- Tamanhos de fonte legíveis. Mínimo de 10-12 pt na imagem PNG final no tamanho de visualização pretendido.
- O título declara o resultado. "Receita do Oeste cresceu 12% no 2º Trimestre" é melhor que "Gráfico de Receita".
C - Preparação de Dados
- Agregue antes de plotar. Dispersões de um milhão de pontos se tornam hexbins, rollups SQL ou imagens datashader.
- Documente filtros. Widgets de aplicativo e cláusulas WHERE SQL pertencem ao subtítulo ou legenda.
- Trate dados ausentes explicitamente. Lacunas em linhas ou interrupções anotadas - sem interpolação silenciosa.
- Use fusos horários consistentes. UTC nos dados; local apenas na exibição com rótulo.
- Versione o snapshot dos dados. Rodapé com
data_dte SHA do git para reprodutibilidade.
D - Exportação e Produção
- Feche figuras matplotlib em loops. Evite vazamentos de memória em trabalhos em lote.
- Escolha o formato para o meio. PDF/SVG para impressão; PNG 150 dpi para tela, 300 dpi para slides.
- Cache de consultas de dashboard.
cache_datado Streamlit, stores do Dash - sem recarregar Parquet a cada clique. - Teste a renderização headless.
matplotlib.use("Agg")em testes de snapshot de CI. - Sem edições manuais de gráficos após a exportação. Altere o script, não os retângulos do PowerPoint.
FAQs
Quando o eixo y não pode começar em zero?
- Gráficos de linha de taxas ou índices onde pequenas mudanças importam e a escala está rotulada.
- Nunca para comparações de magnitude de barras sem justificativa clara.
Pizza ou barra?
- Barra quase sempre - mais fácil comparar comprimentos do que ângulos.
- Pizza apenas para 2-3 partes de um todo e slides estáticos.
Como mostro incerteza?
- Barras de erro, faixas ou gráficos de caixa/violino - declare o que o intervalo significa (IC vs IQR).
E gráficos 3D?
- Evite - distorce a percepção. Use painéis 2D facetados em vez disso.
Como testo a saída do gráfico?
- Snapshot de bytes PNG em CI com semente de dados fixa.
- Afirme que o arquivo existe e o tamanho > limite como um portão mínimo.
Interativo ou estático?
- Estático para artigos e e-mail; interativo para dashboards de exploração.
- Não envie 5 MB de HTML Plotly por e-mail, a menos que solicitado.
Como anoto outliers?
ax.annotatecom rótulo curto - explique por que o ponto é importante.- Não exclua outliers do gráfico sem divulgação.
Devo usar os padrões do seaborn?
- Bom ponto de partida - ainda verifique escalas, rótulos e a escolha do estimador.
Como lidar com desequilíbrio de classes em gráficos?
- Mostre contagens ao lado de taxas; use visualizações separadas para prevalência vs desempenho.
O que é chartjunk?
- Grades pesadas, efeitos 3D e decoração que não codificam dados.
- Prefira
seaborn ticksou grade leve com alpha 0.3.
Relacionados
- Básicos de Visualização - tour de gráficos
- matplotlib - exportação e layout
- Plotando Dados Grandes - agregação
- Melhores Práticas de Análise de Dados - números confiáveis upstream
Versões da Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+ e uv 0.6+.