La idea
Un gráfico no es una fotografía de tus datos. Son tus datos convertidos en marcas: un punto cuya altura es un número, una barra cuya longitud es un número, un rectángulo cuya altura es un conteo. Cada marca sale de una fila de una tabla, y la tabla es lo que el gráfico puede mostrarte. Nada más.
Eso explica por qué el orden del trabajo es fijo. Primero la pregunta (¿qué debe ver un lector?), luego la tabla pequeña que la responde (una fila por barra o punto), después el gráfico. Elegir el tipo de gráfico antes que la tabla es como la gente acaba con un gráfico circular de 40 porciones.
Figura 1
De una pregunta a un gráfico
- La pregunta ¿qué debe ver el lector?
-
result = orders.groupby(...).size()una tabla pequeña: x e y -
result.plot(kind='bar')la tabla se vuelve marcas - Título y etiquetas unidades, orden, base en cero
- Empieza por la frase que el gráfico debe respaldar, como '¿qué motivos de devolución cuestan más?'. Ella elige el gráfico, no al revés.
- Da primero forma a los datos como una tabla pequeña: una fila por barra o por punto. Aquí, dólares reembolsados por motivo. Todo lo que dibujas es esta tabla, y la comprobación la lee.
plotconvierte cada fila en una marca: una posición en una línea, la longitud de una barra. matplotlib dibuja lo que dice la tabla, así que una tabla equivocada da un gráfico preciso, bonito y equivocado.- Las etiquetas, el orden y el eje van al final. Deciden si el lector ve la verdad rápido o tiene que buscarla.
Por qué existe
Una tabla de 36 números mensuales es algo que lees; un gráfico de líneas con esos mismos 36 números es algo que ves. El pico del Black Friday salta a la vista en menos de un segundo, y nadie tuvo que buscarlo. Ese es el único trabajo de un gráfico: hacer visible un patrón más rápido de lo que puede una tabla.
De ahí se sigue que el patrón tiene que ser el que pregunta la pregunta. Los mismos pedidos se pueden dibujar como una tendencia en el tiempo, como una comparación de canales, como un reparto de valores de pedido. Son tres preguntas y tres tablas distintas.
Hay una segunda razón por la que los gráficos importan a un analista: ahí es donde tu público detecta tus errores. Una barra de devoluciones diez veces demasiado alta, una línea que salta en un mes donde no pasó nada, un histograma con una barra en menos $1,209: cada uno es un problema de datos que se te habría escapado en una tabla de promedios. Dibujar los datos es parte de comprobarlos, no solo de presentarlos.
Cómo funciona por dentro
La pregunta elige el gráfico
| La pregunta trata de | Dibuja | La tabla tiene |
|---|---|---|
| cambio en el tiempo | línea | una fila por día, semana o mes |
| comparar categorías | barras (ordenadas) | una fila por categoría |
| cómo se reparten los valores | histograma | una fila por observación |
| dos números que se mueven juntos | dispersión | una fila por elemento, dos columnas numéricas |
| de qué se compone un total | barra apilada | una fila por grupo, una columna por parte |
La mayoría de los errores son una discordancia aquí, y puedes detectarla mirando la tabla: si las filas son categorías, una línea está mal; si son días, una barra por día probablemente es demasiado densa. Las líneas conectan sus puntos y dicen "esto lleva a aquello", así que una línea a través de canales (que no tienen orden) inventa una tendencia. Las barras dicen "estas son cosas separadas".
Barras: ordénalas y empieza en cero
Un gráfico de barras codifica un valor como longitud, y la longitud solo significa algo desde una base común.
Figura 2
Dólares reembolsados por motivo de devolución, de mayor a menor
- Una barra por motivo, ordenadas de mayor a menor. El ojo lee el ranking sin buscar por el gráfico.
changed_mind($132,949) ydamaged($128,729) suman $261,678, más del doble de los $109,595 delateywrong_itemjuntos.- Las barras codifican el valor como longitud, y la longitud desde cero. La primera barra es solo 2.6 veces la última porque son 2.6 veces los dólares. Esa promesa es la razón de que las barras empiecen en cero.
Ordena las barras por valor salvo que las categorías tengan un orden natural, como meses o tramos de
tamaño. Un ranking es el objetivo de la mayoría de los gráficos de barras, y debe verse sin esfuerzo.
Las barras horizontales (kind='barh') son mejores cuando las etiquetas son largas.
Histogramas: contar dentro de intervalos
Un histograma toma una columna numérica y cuenta cuántos valores caen en cada intervalo. El ancho del intervalo es una elección: demasiado ancho y la forma desaparece, demasiado estrecho y cada barra es ruido. Para dinero, anchos redondos como $100 se leen mejor que lo que elija la biblioteca.
Figura 3
Valor del pedido en intervalos de $100 (pedidos de menos de $1,000)
- Un histograma no muestra categorías, muestra cómo se reparte un número.
plt.histcorta los valores en intervalos iguales y cuenta cuántos caen en cada uno. - El intervalo más alto es el más barato: 3,139 pedidos de menos de $100. Las barras bajan de forma constante hacia la derecha, una larga cola de pedidos más grandes.
- El pedido mediano es de $269, muy por debajo de la media de $543, porque unos pocos pedidos enormes la elevan. Aquí la forma de los datos dice más que cualquier promedio.
De los 12,000 pedidos, 10,151 son de menos de $1,000 y llenan estos intervalos, 1,843 son de $1,000 o más y 6 son negativos, que es lo que hacen unas pocas cantidades erróneas a un total. Un histograma hace visible ese tipo de sorpresa. Una media nunca podría mostrarla.
Dispersión, líneas y apilados
Un gráfico de dispersión pone un elemento por punto, y dos números deciden dónde. Responde a "¿se mueven juntos?". Una línea de tendencia que lo atraviesa es un resumen, no una prueba. Con varias líneas, el color y la leyenda deben decir cuál es cuál, y las líneas deben compartir un eje. Una barra apilada muestra un total y sus partes: es fácil leer el segmento de abajo y el total, y difícil comparar los del medio, así que pon abajo la parte que importa.
Lo que ve la comprobación
En este juego la página comprueba los números que guardas en result, no los píxeles. Es un buen
hábito en cualquier sitio: guarda la tabla dibujada en una variable que puedas imprimir, probar o
comparar. Un gráfico que nadie puede verificar es solo una opinión.
Errores comunes
"Elige el tipo de gráfico que se vea mejor"
Elige el que coincide con la pregunta. Un gráfico circular, una barra 3D y una línea ondulada se pueden hacer atractivos, y todos pueden responder una pregunta que no hiciste. Si no puedes decir en una frase qué debe notar el lector, aún no estás listo para elegir un gráfico.
"Ampliar el eje muestra mejor la tendencia"
En las líneas, una base distinta de cero puede estar bien, porque la posición, no la longitud, lleva el valor. En las barras miente. Los pedidos anuales son 3,171, 4,046 y 4,783: un crecimiento real de 1.5 veces de 2023 a 2025. Empieza las barras en 3,000 y la barra de 2025 es 10.4 veces más alta que la de 2023. Mismos números, otra afirmación. Si debes ampliar, usa una línea y dilo en la etiqueta.
"Más elementos en el gráfico lo hacen mejor"
Cada color, línea de cuadrícula y etiqueta de más es algo que el lector tiene que descifrar. Quita todo lo que no ayude a responder la pregunta: si borrar una línea de cuadrícula no cambia nada de lo que un lector concluiría, bórrala. Un título directo que enuncia el hallazgo ("Los reembolsos los generan dos motivos") hace más que una leyenda y un arcoíris.
Ponte a prueba
Una pregunta. Al responderla, la lección queda marcada en el mapa; nunca bloquea un nivel.
No del todo. Eso muestra cuántos pedidos hay a lo largo del tiempo. No dice nada sobre lo grande que es cada uno.Prueba otra respuesta.
Correcto. La pregunta trata de cómo se reparte un número, el valor del pedido. Un histograma cuenta pedidos por intervalo de valor, así que la barra alta a la izquierda y la larga cola a la derecha la responden directamente.
No del todo. Eso compara la mezcla de estados entre canales. El tamaño de los pedidos no está en él.Prueba otra respuesta.
No del todo. order_id es una etiqueta que crece con el tiempo, no una medida. La nube de puntos no mostraría ninguna relación con sentido ni conteos.Prueba otra respuesta.
Lección hecha: ya está marcada en el mapa.