Python · Capítulo 11 · Lección de conceptos · 7 min de lectura

Un gráfico es una tabla dibujada con marcas

Todo gráfico es una tabla pequeña convertida en marcas: posiciones, longitudes, intervalos. Decide primero la pregunta, da forma a la tabla para responderla, y el tipo de gráfico y su eje honesto vienen solos.

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

  1. La pregunta ¿qué debe ver el lector?
  2. result = orders.groupby(...).size() una tabla pequeña: x e y
  3. result.plot(kind='bar') la tabla se vuelve marcas
  4. Título y etiquetas unidades, orden, base en cero

Paso 1 de 4 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.

  1. 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.
  2. 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.
  3. plot convierte 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.
  4. 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

$0 $37,500 $75,000 $112,500 $150,000 Reembolsado changed_mind: $132,949damaged: $128,729late: $57,860wrong_item: $51,735 changed_minddamagedlatewrong_item

Paso 1 de 3 Una barra por motivo, ordenadas de mayor a menor. El ojo lee el ranking sin buscar por el gráfico.

  1. Una barra por motivo, ordenadas de mayor a menor. El ojo lee el ranking sin buscar por el gráfico.
  2. changed_mind ($132,949) y damaged ($128,729) suman $261,678, más del doble de los $109,595 de late y wrong_item juntos.
  3. 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)

0 1,000 2,000 3,000 4,000 Pedidos 0-99: 3,139100-199: 1,879200-299: 1,331300-399: 1,051400-499: 751500-599: 584600-699: 452700-799: 395800-899: 312900-999: 257 0-99200-299400-499600-699800-899 mediana $269

Paso 1 de 3 Un histograma no muestra categorías, muestra cómo se reparte un número. plt.hist corta los valores en intervalos iguales y cuenta cuántos caen en cada uno.

  1. Un histograma no muestra categorías, muestra cómo se reparte un número. plt.hist corta los valores en intervalos iguales y cuenta cuántos caen en cada uno.
  2. 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.
  3. 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.

Un colega pregunta: '¿La mayoría de nuestros pedidos son pequeños y unos pocos grandes completan el resto?'. ¿Qué gráfico lo responde mejor, y desde qué tabla?

Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.