Recursos
Atrás

Se ahorraron cientos de horas de procesos manuales al predecir la audiencia de juegos al usar el motor de flujo de datos automatizado de Domo.

Ver el vídeo
Acerca de
Atrás
Premios
Recognized as a Leader for
32 consecutive quarters
Primavera de 2025: líder en BI integrada, plataformas de análisis, inteligencia empresarial y herramientas ELT
Fijación

Stream Graphs: How to Read, Build, and Apply Them

Stream graphs display how multiple categories change over time by stacking flowing layers around a central axis rather than building from zero, making them ideal for spotting trends but unreliable for reading exact values. This guide covers when to use stream graphs, how to read them correctly, and how to build one in Excel or a BI platform like Domo.

Key findings for stream graphs

A stream graph is a flowing, organic visualization that shows how multiple categories change over time. It stacks layers around a central axis instead of building up from zero, which makes patterns easier to spot but exact values harder to read.

  • Use this chart when: You have five to 15 categories, a continuous time axis, and the goal is showing trends rather than precise numbers.
  • Choose a different chart when: Stakeholders need exact comparisons, the data has negative values, or the audience expects traditional charts.
  • Primary decision it supports: Identify which categories are growing, shrinking, or emerging relative to the whole.
  • Most common misuse: Presenting it in budget meetings where people need to read specific numbers.
  • If you only remember one risk: Viewers will assume they can compare layer heights accurately. In practice, they usually can't.
  • Best alternative if this fails: Use a stacked area chart for readable totals, or small multiples of line charts for category-by-category comparison.

What is a stream graph?

A stream graph is a type of stacked area chart where the layers flow around a shifting central baseline rather than stacking upward from zero. Each colored layer represents a category, and the thickness of that layer at any point shows its value at that moment in time.

The horizontal axis typically represents time. The vertical axis represents magnitude. But here's the catch: the baseline moves up and down to create the organic shape, so the y-axis isn't a fixed scale you can read from.

What makes this chart visually distinct is its "flowing river" appearance. Algorithms distribute layers above and below a central axis, creating a symmetrical shape. The goal is to minimize "wiggle," which is the jagged distortion that happens in standard stacked charts when layers of different sizes sit on top of each other.

You'll hear the terms "stream graph," "stream chart," and "streamgraph" used interchangeably. The format gained popularity after a 2008 New York Times visualization of movie box office revenue brought it into the mainstream.

Chart Type Baseline Best For Tradeoff
Stacked area chart Fixed at zero Reading totals, precise comparison Bottom layers dominate; top layers distort
Stream graph (centered) Centered, symmetric Pattern emphasis, many categories Cannot read precise values
Stream graph (wiggle) Optimized for smoothness Storytelling, visual flow Prioritizes aesthetics over readability
A professional BI dashboard card showing a stream graph of platform interactions. The flowing layers show feature trends over 12 months.
Figure 1: A stream graph visualizing platform engagement, emphasizing the organic growth and shifts in feature usage rather than exact values.

When to use stream graphs for time-series patterns

You have a dataset with a time column and a dozen categories. You could build a line chart, a stacked area chart, or a stream graph. The right choice depends on what question you need to answer.

Stream graphs work well when you have roughly five to 15 categories and want to show overall volume trends and compositional shifts. They're excellent for editorial storytelling, trend exploration, and executive summaries where the pattern matters more than the decimal points.

They fall apart when stakeholders need to compare specific values. Because the baseline shifts constantly, viewers can't accurately judge whether one layer is larger than another at a given point. If someone asks, "Did Product A outsell Product B in the third quarter (Q3)?" the stream graph can mislead them.

A few other situations call for a different chart:

  • Negative values: Stream graphs assume all values are positive. Negative values break the stacking logic.
  • Few categories: If you have fewer than five categories, a standard stacked area chart is simpler and clearer.
  • Unfamiliar audiences: With poor data literacy a top-five barrier to analytics success according to Gartner, spending five minutes explaining how to read the chart before discussing the data means you've lost the room.
If You Need To... Use This Instead
Compare exact values across categories Grouped bar chart or small multiples
Show totals over time with readable layers Stacked area chart
Compare trends for individual categories Small multiples of line charts

How stream graphs work and how to read them

The most common failure happens when someone presents a stream graph and the first question is, "What does the y-axis mean?" The practical answer: it won't mean what you expect.

A stream graph stacks category values at each time point, just like a stacked area chart. The difference is the baseline. In a standard stacked area chart, the baseline is zero. In a stream graph, an algorithm computes the baseline to minimize visual distortion.

Three common baseline approaches exist:

  • Zero: Layers stack upward from zero. Readable, but top layers distort when bottom layers fluctuate.
  • Silhouette (centered): Layers center around a horizontal midline. Distributes distortion evenly but makes totals impossible to read.
  • Wiggle: An algorithm adjusts the baseline to minimize oscillation. Produces the smoothest appearance but sacrifices precision entirely.

Layer ordering also matters. A common approach places the most volatile layers in the center and the most stable layers on the edges. This reduces visual noise.

To read a stream graph correctly, follow this sequence:

  1. Look at overall shape first. Is the total volume growing, shrinking, or stable?
  2. Identify dominant categories. Which layers are thickest?
  3. Spot emerging or declining categories. Look for layers that widen or narrow over time.
  4. Don't compare non-adjacent layers directly. You can only reliably compare a layer's thickness to itself over time.

Many people confuse the "middle bulge" illusion with actual growth. A category in the center may appear to expand simply because the layers above and below it are shifting. Always verify insights from the middle of the stream by checking the raw data.

An annotated stream graph showing university grant funding. Callouts explain that layer thickness represents the value for each department while the baseline shifts around a center point.
Figure 2: Interpreting a stream graph: the vertical thickness of each colored layer indicates the specific value for that category at any point in time.

Stream graph variations and tradeoffs

Not all stream graphs behave the same way. The choice of interactivity and ordering changes what viewers can learn.

Interactive stream graphs

Interactive versions let viewers hover over a layer to see its label and value, or click to isolate a single category. This mitigates the biggest weakness: legibility. Without interactivity, viewers often can't tell which layer is which, especially in the middle of the chart.

Use interactive versions for dashboards and web-based storytelling, especially as the migration from static reports to real-time dashboards accelerates. The tradeoff is that static exports lose the hover labels, so you need a fallback annotation strategy for PDFs and slides.

Static stream graphs

Static versions appear in print and presentations. Because viewers can't hover, you must annotate directly on the chart by labeling the largest layers and adding callouts for key moments.

The tradeoff is clutter. Limit labels to the most important categories to avoid creating a visual mess.

Sorted stream graphs

Layer ordering affects readability significantly. You can sort by total size (largest on the outside), by volatility (most volatile in the center), or by custom order to match your narrative.

No single ordering is correct. Changing the order changes the visual emphasis, which can unintentionally mislead viewers about which categories matter most.

Best practices for designing stream graphs

Each rule below prevents a specific misinterpretation.

  • Limit categories to five to 15: Too few makes the chart overkill. Too many creates unreadable slivers.
  • Use color to differentiate, not encode value: If you use light-to-dark shading, viewers assume darker means "more important."
  • Annotate directly for static versions: Without labels, viewers will guess which layer is which—and guess wrong.
  • Provide tooltips for interactive versions: Without them, viewers click randomly and get frustrated.
  • Negative values don't work here: The stacking logic breaks with negative numbers.
  • Include a data table for precision needs: Someone will screenshot the chart and make a budget decision based on an eyeballed number.
  • Choose layer ordering intentionally: Default ordering may bury important categories in the middle.

Stream graph examples and what they reveal

A music platform wants to show how genre popularity shifted over a decade. The stream graph reveals that hip-hop and pop expanded dramatically while rock and country shrank proportionally. The overall stream height also grew, so even shrinking genres might have stable absolute numbers—but their share of attention declined. A grouped bar chart would show each genre separately but lose the sense of the whole ecosystem.

A marketing team tracks traffic sources during a product launch. The stream graph shows a surge in paid traffic during launch week, followed by sustained organic growth as word-of-mouth builds. Social traffic spikes briefly and fades. A line chart with five overlapping lines would be cluttered. A stacked area chart would make the social spike hard to see.

A support team categorizes tickets over six months. The stream graph reveals that "bugs" spiked after a software release, then declined as fixes rolled out. "Feature requests" grew steadily, suggesting engaged customers. A pie chart would show only a snapshot and miss the story entirely.

How to explain a stream graph in 30 seconds

Use this talk track when presenting:

  1. "This chart shows how the composition of [metric] changed over [time period]."
  2. "Each colored layer represents a category. The thickness shows its value at that moment."
  3. "The key comparison is how each layer's thickness changes over time—not how layers compare to each other."
  4. "The main takeaway is [specific insight]."
  5. "Don't conclude exact values from this chart—the y-axis isn't a fixed scale."
  6. "If we need precise comparisons, we should use a bar chart instead."

How to create a stream graph

Excel is great for quick prototypes, but it doesn't have a native stream graph chart type. You can approximate one with a stacked area chart and manual baseline adjustments, but it takes time to set up and maintain.

Your data needs three columns: a time column (date or period), a category column (the grouping variable), and a value column (the numeric measure). Data should be in "long" format with one row per time-category combination.

To approximate in Excel:

  1. Create a summary table with time as rows and categories as columns.
  2. Add a dummy series column that calculates the offset needed to center the stack.
  3. Insert a Stacked Area chart (Insert → Charts → Area → Stacked Area).
  4. Format the dummy series to have no fill and no line, making it invisible.
  5. Adjust colors and add labels.

This workaround doesn't produce a true wiggle-minimized stream graph. The baseline is centered but not optimized. For production use, consider a BI platform such as Domo, where you can build stream graphs with interactive tooltips and baseline options without manual offset calculations.

After building, verify that the total height at any time point equals the sum of all category values. If the chart looks off, check for missing data or incorrect baseline settings.

Limitations and when to use alternatives

Stream graphs have real constraints. The shifting baseline means viewers can't read precise values. Legibility degrades past 15 categories. Many business audiences find the format unfamiliar and confusing. Gartner predicts over 50% of CDAOs will fund data literacy programs by 2027, partly to close comprehension gaps like these. And negative values simply don't work.

Comparison Alternative Advantage Stream Graph Advantage
vs. stacked area chart Readable totals from y-axis Distributes distortion evenly
vs. small multiples Precise category comparison Shows composition in single view
vs. grouped bar chart Exact values at each point Continuous change, more compact

Key takeaways for choosing stream graphs

Stream graphs excel at visualizing compositional change over time when you have many categories and want to emphasize patterns rather than precision. They work beautifully for storytelling and trend exploration.

But they're not a default choice. If stakeholders need exact values, if the data contains negative numbers, or if the audience expects traditional charts, something simpler will serve you better.

Before building one, ask: "What question does this chart need to answer?" If the answer involves precise numbers, choose a stacked area chart or small multiples. If it involves spotting trends and communicating the big picture, a stream graph is worth the tradeoff. Want to sanity-check your chart choice (or swap tips on making stream graphs actually readable in the real world)?

Table of contents
Try Domo for yourself.
Free Trial

Frequently asked questions

What is the difference between a stream graph and a stacked area chart?

A stacked area chart builds layers from a fixed zero baseline, making totals readable but distorting top layers. A stream graph centers layers around a shifting baseline, distributing distortion evenly but sacrificing precise value reading.

Can I create a stream graph in Microsoft Excel?

Excel lacks a native stream graph option. You can approximate one using a stacked area chart with manual offset calculations, but this is tedious and doesn't produce true wiggle minimization. BI platforms handle this automatically.

How many categories work best in a stream graph?

Aim for five to fifteen categories. Fewer than five makes a stacked area chart simpler. More than fifteen creates unreadable slivers that clutter the visualization without adding insight.

Why can't I read exact values from a stream graph?

The baseline shifts at every time point, so the y-axis doesn't represent a fixed scale. You can compare a layer's thickness to itself over time, but you can't accurately compare two different layers at the same moment.

When should I use small multiples instead of a stream graph?

Use small multiples when precise comparison of each category's trend matters more than seeing the whole composition. Use a stream graph when you want to show both composition and total volume in a single, compact view.

No items found.
Explore all
No items found.
No items found.