Hacer el gráfico es lo fácil: seleccionas dos columnas, eliges un tipo de
gráfico y listo. Cuando algo sale mal, y con los archivos CSV pasa seguido, el
gráfico casi nunca es el problema. Los datos sí. Un número guardado como
texto, un N/A en una columna de cifras, una columna de años que la
herramienta decide tratar como una serie de datos. Arregla eso y cualquier
herramienta dibujará el gráfico.
La respuesta rápida
- Excel: abre el CSV, selecciona la columna de etiquetas y la columna de números, y ve a Insertar → Gráficos recomendados.
- Google Sheets: sube el archivo, ábrelo, selecciona y ve a Insertar → Gráfico.
- Python:
pandasmásdf.plot(), tres líneas, más abajo. - En el celular: una app que grafica un CSV directamente, sin convertirlo antes en una hoja de cálculo.
- Antes de cualquiera de ellos: comprueba que la columna de números sean realmente números, y decide si necesitas totalizar los datos primero.
Paso cero: ¿hay que resumir estos datos primero?
Una exportación en CSV suele tener una fila por evento: por pedido, por transacción, por visita. Si la grafícas tal cual, obtienes 40.000 barras finísimas. Lo que realmente quieres es una barra por categoría: ingresos por mes, pedidos por región.
Así que primero pregúntate: ¿una fila por qué? Si la respuesta no es lo que va en el eje x de tu gráfico, primero súmalo. En Excel o Sheets eso es una tabla dinámica. Con SQL es una sola consulta:
duckdb -c "SELECT region, sum(amount) AS revenue FROM 'orders.csv' GROUP BY region ORDER BY revenue DESC"
Después grafica el resultado pequeño, no el archivo grande. La guía para sumar una columna en un CSV explica este paso con más detalle.
Elige el gráfico según la pregunta
| Quieres mostrar | Usa | Evita |
|---|---|---|
| Qué categoría es la mayor | Barras (horizontales si las etiquetas son largas) | Circular con más de cinco porciones |
| Cambio a lo largo del tiempo | Líneas | Barras, con más de ~20 puntos |
| Proporción de un total | Barras apiladas, o circular para 2–5 partes | Cualquier cosa en 3D |
| Relación entre dos números | Dispersión | Líneas (sugieren un orden) |
| Distribución de un número | Histograma | Gráfico de barras de valores brutos |
En Excel
- Abre el CSV. (Si contiene identificadores, códigos postales o números largos, impórtalo en lugar de abrirlo; consulta cómo evitar que Excel cambie los datos de tu CSV.)
- Selecciona la columna de etiquetas, luego mantén presionada Ctrl (⌘ en Mac) y selecciona la columna de números.
- Insertar → Gráficos recomendados, o elige un tipo directamente.
El problema clásico: la columna de años se convierte en una serie. Si tus
etiquetas son números (2021, 2022, 2023), Excel los trata como datos y
los dibuja como una segunda línea al fondo. Convierte la columna de etiquetas
a texto, o borra el texto del encabezado en la primera celda de esa columna.
Con la celda superior izquierda vacía, Excel lee la columna como etiquetas.
El otro problema clásico: no se grafica nada. Los números guardados como texto (un triángulo verde en la esquina de cada celda) se grafican como cero. Selecciona la columna, haz clic en el icono de advertencia y elige Convertir en número.
En Google Sheets
- Sube el CSV a Drive y ábrelo con Sheets, o usa Archivo → Importar en una hoja existente.
- Selecciona las columnas y elige Insertar → Gráfico.
- En el editor de gráficos, marca Usar la columna A como etiquetas y, si el gráfico se ve transpuesto, Cambiar filas/columnas.
Sheets tiene una función que en Excel cuesta más: en la pestaña Configuración del editor de gráficos, al marcar Agregar junto al eje x se suman por ti las etiquetas repetidas. Para obtener rápido una "suma por categoría" a partir de filas sin procesar, te ahorra la tabla dinámica.
En Python
Para todo lo que vayas a hacer más de una vez, un script es mejor que hacer clic:
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)
Vuelve a ejecutarlo el próximo mes con la nueva exportación y el gráfico se actualiza solo.
Los problemas de datos detrás de casi todos los gráficos rotos
- Una columna con un solo valor que no es número.
N/A,-,TBCo un espacio en blanco escrito a mano. Muchas herramientas tratan entonces toda la columna como texto, y desaparece del gráfico o se dibuja como cero. - Símbolos de moneda y separadores de miles.
$1,200es texto para la mayoría de los analizadores. Quita símbolos y separadores, o usa una herramienta que los entienda. - Comas decimales. Un archivo de un sistema alemán o francés escribe
1.234,50. Abierto con configuración regional en inglés, es texto o, peor, un número mil veces más grande. - Fechas como texto. Ordenadas alfabéticamente,
Aprva antes queJan. Conviértelas en fechas reales, o nombra los meses2026-01,2026-02, que se ordenan bien incluso como texto. - Una fila de total al final. Muchas exportaciones terminan con una línea "Total", que luego se alza sobre todas las barras reales. Bórrala antes de graficar.
En el celular
Las apps de hojas de cálculo del celular pueden graficar un CSV después de convertirlo, con los mismos problemas de datos de arriba y una pantalla más pequeña para corregirlos. Una app de CSV que grafica el archivo directamente se salta la conversión.
En Smart CSV Viewer es ⋯ → Gráfico: elige un tipo, escoge la columna de Etiquetas y una o más columnas de Series, y exporta el gráfico como imagen. Si una columna de serie contiene algo que no es un número, te dice qué columna y qué celda, y con un toque llegas a esa celda para corregirla, que es la solución al primer problema de la lista de arriba.

Grafica un CSV en iPhone o Android sin convertirlo, indica la celda que no es un número y exporta el gráfico como imagen.
Qué hacePara ser transparente con los límites: la versión gratuita dibuja gráficos de columnas, barras y líneas con las primeras diez filas; Pro añade todos los tipos de gráfico y hasta 1.000 filas. Para graficar un archivo grande sin procesar, resúmelo primero, como en el paso cero. Es un buen consejo sin importar cuánto pagues.