Stream Graph

Stream Graph

Categoría EvoluciónComposición

Qué es

Variante del Área Apilada donde las capas fluyen orgánicamente alrededor de un eje central, creando una forma que evoca flujo y movimiento.

Para qué sirve

Para mostrar cómo evolucionan múltiples categorías a lo largo del tiempo con un énfasis en el flujo y la forma, especialmente en contextos culturales o de tendencias.

Cómo leerlo

Anatomía

Este formato se presentó formalmente en investigación de visualización de información en el año 2000, con el aporte específico de centrar el apilado alrededor de una línea base horizontal, en vez de apilar desde cero como una barra o área normal: el "río" fluye simétrico, ensanchándose y angostándose. Casi una década más tarde, ese mismo principio se popularizó de forma masiva al aplicarse a datos de cartelera de cine en un medio de comunicación importante, lo que le dio al formato su nombre más conocido y su estética actual. El ancho vertical del río completo en cualquier punto sigue siendo la suma de todas las series, solo que repartida arriba y abajo del centro en vez de apilada desde un eje fijo.

Trazos de luz translúcidos y ondulados que se cruzan y superponen en el aire contra un atardecer, sin línea base fija: la misma anatomía de un stream graph, donde varias bandas fluyen centradas en torno a un eje en vez de apilarse desde cero

Por qué funciona

Fundamento perceptivo

Visualmente orgánico y atractivo. La forma de 'río' comunica flujo y continuidad de una manera que las áreas apiladas tradicionales no logran.

Errores comunes

  • Imposible leer valores precisos

    es una visualización narrativa, no analítica, así que úsalo para contar una historia, no para reportar métricas exactas.

Dónde se usa

Contextos de aplicación

Popularidad de géneros a lo largo de décadas
01

Popularidad de géneros a lo largo de décadas

Corrientes orgánicas que engordan y adelgazan con las modas.

Tendencias de temas en conversación pública
02

Tendencias de temas en conversación pública

Qué tema domina cada período y cómo se relevan entre sí.

Volumen de búsquedas por categoría
03

Volumen de búsquedas por categoría

El caudal total y el aporte de cada categoría, fluyendo en el tiempo.

Cómo construirlo

El mismo gráfico, en 11 librerías open source

Cada librería resuelve las mismas decisiones de diseño, como la escala, el espaciado entre barras o la inserción de la etiqueta de valor, de un modo distinto. Algunas las automatizan; otras las dejan explícitas en el código, a criterio de quien lo escribe. Comparar once implementaciones con los mismos datos y el mismo color de marca aísla esa diferencia, que de otro modo queda oculta detrás de estilos visuales distintos.

Cómo fluye la lluvia por Chile, mes a mes

Fuente: DMC, Datos Normales y Promedios Históricos

Matplotlib License (estilo BSD)
Matplotlib: gráfico de barras

Precipitación mensual normal (1991-2020) en tres ciudades chilenas (mismos datos que el ejemplo principal de esta ficha): DMC, Datos Normales y Promedios Históricos. La forma fluida de un streamgraph depende de un offset "wiggle" que minimiza el meneo total de las bandas —D3 y Observable Plot lo traen nativo (vía d3-shape); ECharts tiene un tipo themeRiver dedicado con su propio apilado centrado; Vega-Lite ofrece stack: "center" (centrado, pero sin minimizar el meneo); las demás 4 reutilizan los límites ya calculados una sola vez con d3.stackOffsetWiggle. ax.stackplot() apila desde cero, sin offset "wiggle" —se usa fill_between() con los límites ya calculados en su lugar.

import matplotlib.pyplot as plt

# ax.stackplot() apila desde cero, sin offset "wiggle" -- se usa
# fill_between() con los limites (y0, y1) ya calculados por
# d3.stackOffsetWiggle en vez del stackplot nativo.
for i, capa in enumerate(capas):
    ax.fill_between(xs, [p["y0"] for p in capa], [p["y1"] for p in capa], color=colores[i], alpha=0.85)
plt.show()

Herramientas para construirlo

No-code, desktop y plataformas web, con su licencia visible, abierta o comercial.

No-code
Observable FreemiumRAWGraphs GratisFlourish Freemium
JavaScript
D3.js Open SourceECharts Open Source
Python
Matplotlib Open Source
R
ggplot2 Open Source

Con datos reales

Ejemplos de uso.

Cómo fluye la lluvia por Chile, mes a mes

Promedio histórico mensual (1991-2020).

210 mm80 mm221 mmenefebmarabrmayjunjulagosepoctnovdicTemucoSantiagoConcepción

Fuente: DMC, Datos Normales y Promedios Históricos