Gráfico de barras horizontales

Comparar categorías con nombres largos.

Definición

Un gráfico de barras horizontales pone una barra por categoría, con la longitud medida desde cero, y el rótulo a la izquierda en horizontal. Es la forma natural de un ranking cuando los nombres son largos o las categorías son muchas. Se usa para carteras, regiones, productos o cualquier lista que se ordena por un valor.

Comparación de tres grupos ficticios
Datos
label · value
Buena para
Ordenar categorías por un valor y leer su nombre entero sin girar la cabeza.
Evítala cuando
Cuando el eje de categorías es el tiempo: los periodos se leen de izquierda a derecha, no de arriba abajo.
Se lee bien
Entre 2 y 30 elementos; dibuja hasta 300
Datos que faltan
Dibuja el valor ausente como cero.
Accesibilidad
Lector de pantalla: tabla de datos · respeta «reducir movimiento»

Forma de los datos

Qué columnas pide

ColumnaTipoPara qué
label · opcionalstringLa banda: columns.category, label o y. Los aliases deben nombrar la misma columna. Sin binding se conserva la inferencia por nombre y tipo.
value · opcionalnumberLa longitud desde cero: columns.value o x. Admite valores negativos y conserva zero-fill para vacíos; un valor presente no finito falla. Sin binding se conserva la inferencia; sin medida inferible no dibuja.

Tamaños

Recompuesta, no encogida

El motor vuelve a componer la pieza a cada ancho: los rótulos conservan su cuerpo y la figura gana alto si lo necesita.

Móvil · 408 × 456 px
Escritorio · 928 × 482 px

Cuándo usarla

Tres preguntas antes de elegirla

¿Las categorías tienen nombres largos o son muchas?

Con pocas categorías de rótulo corto, las columnas verticales son igual de claras y ocupan menos ancho.

Sí: quédate con gráfico de barras horizontales

No: usa Gráfico de barras verticales

¿Importa la longitud de cada barra desde cero?

Si los valores están muy juntos y lejos del cero, los puntos permiten un eje que no empieza en cero sin engañar.

Sí: quédate con gráfico de barras horizontales

No: usa Gráfico de puntos

¿Cada categoría tiene un solo valor?

Si cada categoría se reparte en partes, las barras apiladas enseñan el total y su composición a la vez.

Sí: quédate con gráfico de barras horizontales

No: usa Barras apiladas

Código

La misma pieza, con tus datos

import { getPreset, renderComposition } from 'visx-render/node';

const spec = await getPreset('horizontalbar');
spec.data.rows = misFilas; // tus columnas
const { svg, warnings } = await renderComposition(spec);

También en React con Chart y prepareComposition. Guía para desarrolladores →

Dudas

¿Admite valores negativos?

Sí. La barra sigue midiéndose desde el cero, que siempre entra en el eje, y crece hacia la izquierda.

¿Por qué horizontal y no vertical?

Porque el argumento es el ranking y el rótulo va entero y horizontal, sin cortarse ni girarse. Con nombres largos es la diferencia entre leerlos o no.

¿Qué hace si faltan datos?

Dibuja el valor ausente como cero. Si un hueco no es un cero en tus datos, rellénalo o elimina la fila antes de dibujar.

¿Cómo se ve en el móvil?

El motor la recompone a 360 px de ancho —rótulos, leyenda y alto— en vez de encoger la versión de escritorio.

Relacionadas

Otras formas de responder «quién va primero»

Guía para elegir: quién va primero →