mygems

Como fazer um gráfico a partir de um arquivo CSV

Quase todo erro ao gerar gráfico de um CSV é erro nos dados: número salvo como texto, um N/A, a coluna errada como rótulos. Veja no Excel, Sheets, Python ou celular.

Por mygems ·

Criar o gráfico é a parte fácil: você seleciona duas colunas, escolhe um tipo de gráfico e pronto. Quando dá errado, e com arquivos CSV isso acontece bastante, o gráfico quase nunca é o problema. Os dados é que são. Um número salvo como texto, um N/A no meio de uma coluna de valores, uma coluna de anos que a ferramenta resolve tratar como série de dados. Corrija isso e qualquer ferramenta desenha o gráfico.

A resposta rápida

  • Excel: abra o CSV, selecione a coluna de rótulos e a coluna de números e vá em Inserir → Gráficos Recomendados.
  • Google Sheets: envie o arquivo, abra, selecione e vá em Inserir → Gráfico.
  • Python: pandas com df.plot(), três linhas, mais abaixo.
  • No celular: um app que gera gráfico de um CSV diretamente, sem convertê-lo antes em planilha.
  • Antes de qualquer um deles: confira se a coluna de números realmente contém números e decida se você precisa totalizar os dados primeiro.

Passo zero: esses dados precisam ser resumidos antes?

Uma exportação em CSV normalmente tem uma linha por evento: por pedido, por transação, por visita. Se você fizer o gráfico disso direto, vai ter 40.000 barras finíssimas. O que você quer de verdade é uma barra por categoria: receita por mês, pedidos por região.

Então comece perguntando: uma linha por quê? Se a resposta não for o que vai no eixo x do gráfico, some primeiro. No Excel ou no Sheets isso é uma tabela dinâmica. Com SQL, é uma consulta só:

duckdb -c "SELECT region, sum(amount) AS revenue FROM 'orders.csv' GROUP BY region ORDER BY revenue DESC"

Depois faça o gráfico do resultado pequeno, não do arquivo grande. O guia para somar uma coluna em um CSV trata dessa etapa com mais detalhes.

Escolha o gráfico pela pergunta

Você quer mostrarUseEvite
Qual categoria é a maiorBarras (horizontais se os rótulos forem longos)Pizza com mais de cinco fatias
Mudança ao longo do tempoLinhasBarras, com mais de ~20 pontos
Parte de um todoBarras empilhadas, ou pizza para 2–5 partesQualquer coisa em 3D
Relação entre dois númerosDispersãoLinhas (sugerem uma ordem)
Distribuição de um númeroHistogramaGráfico de barras com valores brutos

No Excel

  1. Abra o CSV. (Se ele tiver IDs, CEPs ou números longos, importe o arquivo em vez de abri-lo; veja como impedir que o Excel altere os dados do seu CSV.)
  2. Selecione a coluna de rótulos, depois segure Ctrl (⌘ no Mac) e selecione a coluna de números.
  3. Inserir → Gráficos Recomendados, ou escolha um tipo diretamente.

O problema clássico: a coluna de anos vira uma série. Se os seus rótulos são números (2021, 2022, 2023), o Excel os trata como dados e os desenha como uma segunda linha lá embaixo. Converta a coluna de rótulos em texto ou apague o texto do cabeçalho na primeira célula dessa coluna. Com a célula superior esquerda vazia, o Excel lê a coluna como rótulos.

O outro problema clássico: nada aparece no gráfico. Números salvos como texto (um triângulo verde no canto de cada célula) entram no gráfico como zero. Selecione a coluna, clique no ícone de aviso e escolha Converter em Número.

No Google Sheets

  1. Envie o CSV para o Drive e abra com o Sheets, ou use Arquivo → Importar em uma planilha existente.
  2. Selecione as colunas e escolha Inserir → Gráfico.
  3. No editor de gráficos, marque Usar coluna A como rótulos e, se o gráfico parecer transposto, Alternar linhas/colunas.

O Sheets tem um recurso que o Excel deixa mais difícil: na guia Configuração do editor de gráficos, ao marcar Agregar ao lado do eixo x, os rótulos repetidos são somados para você. Para tirar rápido uma "soma por categoria" de linhas brutas, isso dispensa a tabela dinâmica.

No Python

Para tudo que você vai fazer mais de uma vez, um script é melhor do que ficar clicando:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("orders.csv")
df.groupby("region")["amount"].sum().sort_values().plot(kind="barh")
plt.tight_layout()
plt.savefig("revenue-by-region.png", dpi=200)

Rode de novo no mês que vem com a nova exportação e o gráfico se atualiza sozinho.

Os problemas de dados por trás da maioria dos gráficos quebrados

  • Uma coluna com um único valor que não é número. N/A, -, TBC ou um campo em branco digitado como espaço. Muitas ferramentas passam a tratar a coluna inteira como texto, e ela some do gráfico ou entra como zero.
  • Moeda e separadores de milhar. $1,200 é texto para a maioria dos analisadores. Remova símbolos e separadores, ou use uma ferramenta que os entenda.
  • Vírgula decimal. Um arquivo de um sistema alemão ou francês escreve 1.234,50. Aberto com a configuração regional em inglês, vira texto ou, pior, um número mil vezes maior.
  • Datas como texto. Em ordem alfabética, Apr vem antes de Jan. Converta para datas de verdade, ou nomeie os meses como 2026-01, 2026-02, que se ordenam corretamente mesmo como texto.
  • Uma linha de total no final. Muitas exportações terminam com uma linha "Total", que depois se destaca acima de todas as barras reais. Apague essa linha antes de fazer o gráfico.

No celular

Os apps de planilha do celular conseguem gerar gráfico de um CSV depois de convertê-lo, com os mesmos problemas de dados citados acima e uma tela menor para corrigi-los. Um app de CSV que faz o gráfico direto do arquivo pula a conversão.

No Smart CSV Viewer, o caminho é ⋯ → Gráfico: escolha um tipo, defina a coluna de Rótulos e uma ou mais colunas de Séries, e exporte o gráfico como imagem. Se uma coluna de série tiver algo que não seja número, o app informa qual coluna e qual célula, e um toque leva você até essa célula para corrigir, que é a solução para o primeiro problema da lista acima.

Um gráfico de colunas do orçamento por destino, com Rótulos definido como Destino e Séries definido como Orçamento na barra inferior
Rótulos, séries, exportar
CSV File Viewer - Smart CSViPhone e iPad · Android

Gera gráfico de um CSV no iPhone ou Android sem convertê-lo, aponta a célula que não é número e exporta o gráfico como imagem.

O que ele faz

Para ser transparente quanto aos limites: a versão gratuita desenha gráficos de colunas, barras e linhas com as primeiras dez linhas; o Pro inclui todos os tipos de gráfico e até 1.000 linhas. Para fazer o gráfico de um arquivo bruto grande, resuma-o primeiro, como no passo zero. É um bom conselho em qualquer plano.

Perguntas

Como faço um gráfico a partir de um arquivo CSV no Excel?
Abra o CSV, selecione a coluna de rótulos e a coluna de números (segure Ctrl ou Cmd para selecionar as duas) e escolha Inserir → Gráficos Recomendados. Se os números estiverem salvos como texto, converta-os antes, ou o gráfico vai mostrar zeros.
Por que minha coluna de anos aparece como uma linha no Excel?
O Excel trata uma coluna de números como dados, mesmo que sejam anos. Converta a coluna de anos em texto ou apague o texto do cabeçalho na primeira célula dela; com a célula superior esquerda vazia, o Excel lê essa coluna como rótulos.
Por que os dados do meu CSV não aparecem no gráfico?
Em geral os números estão salvos como texto: um símbolo de moeda, um separador de milhar, uma vírgula decimal ou um único N/A na coluna. Limpe esses valores ou converta a coluna em números, e o gráfico será desenhado.
Dá para fazer um gráfico de um CSV sem o Excel?
Dá. O Google Sheets é gratuito e gera o gráfico de um CSV depois do envio, o Python com pandas faz isso em poucas linhas e, no celular, um app de CSV pode gerar o gráfico direto do arquivo, sem conversão.
Como faço o gráfico de um CSV com milhares de linhas?
Resuma antes. Uma exportação bruta tem uma linha por evento; agrupe pela categoria ou pelo período que você quer no gráfico, com uma tabela dinâmica ou um GROUP BY do SQL, e faça o gráfico dos totais. Milhares de barras individuais ficam ilegíveis em qualquer ferramenta.

mygems — Desenvolve o CSV Editor e o Smart CSV Viewer, dois apps que existem porque as planilhas desistem de arquivos grandes.