PlotSet LogoPlotSet

How to Create a Stream Graph

A step by step walkthrough for turning a spreadsheet of categories over time into a published stream graph in PlotSet, from shaping the sheet to ordering the bands and exporting the result.

Unos 10 minutos

How to create a stream graph in PlotSet starts with a wide CSV of dates and categories, turned into flowing bands ordered so the biggest shift in the data is what a reader notices first. This walks the same click path a real PlotSet stream graph takes from upload to publish, not a demo running on someone else's numbers.

Ten minutes, if your data is already one row per date with a column per category, most of it spent on band order and colour rather than the upload. Reshaping a long format export, one row per date and category rather than one row per date, into the wide layout this chart needs adds another ten.

Los datos que necesitas

Wide format: one row per time point, one column per category, values are the amount for that category at that time. One header row, dates in the first column.

CSV de ejemplo
MonthHip-HopRockPopCountryElectronic
2024-0118400152002130091007600
2024-0219100148002190088008200
2024-0320500141002260086009000
2024-0421800136002220083009900
2024-05232001300021700810010800
2024-06246001250021100790011700
Notas

This is wide format, not long format. If your export instead has one row per date-and-category combination (a "Month, Genre, Streams" shape with repeated months), pivot it in your spreadsheet tool first so each category gets its own column.

Dates need to parse cleanly and stay in order. A first column of "2024-01", "Jan-24" or a real date type all work; a text column that sorts alphabetically instead of chronologically will scramble the bands.

Use even spacing where you can: weekly, monthly, quarterly. Gaps of uneven length between rows still plot, but the interpolation between a wide gap and a narrow one gets visibly less trustworthy.

Blank cells read as zero for that category at that time, not as missing. If a category genuinely did not exist yet, that is usually the correct reading; if it is a data entry gap, fill it in before uploading.

Los pasos

El camino exacto en PlotSet, desde una plantilla en blanco hasta el gráfico terminado.

  1. 01

    Open the stream graph template

    From the PlotSet dashboard, start a new project and choose the Stream Graph template. It loads with sample data already in the wide layout, so you can see exactly how a time column and several category columns turn into bands before you touch your own file.

    El selector de plantillas de PlotSet: las categorías de gráficos en la columna izquierda, la cuadrícula Bar Charts abierta y la tarjeta de la plantilla Bar Chart con su botón Select visible.
    Todas las guías empiezan aquí. Elige la categoría y luego la plantilla. Es la misma cuadrícula sea cual sea el tipo de gráfico que busques.
  2. 02

    Shape your sheet into wide format

    Put your time points down the first column and one column per category across the top, with values filling the grid. If your source export is long format, pivot it now: a spreadsheet pivot table with dates as rows and categories as columns gets you there in one step.

  3. 03

    Load your CSV or connect a live sheet

    Use the data panel to import a CSV or .xlsx file, paste rows directly from a spreadsheet, or connect a Google Sheet if you want the graph to refresh when the source changes. PlotSet reads the first row as headers automatically.

    La vista de datos del editor de PlotSet: una hoja de cálculo con las columnas Name, Value y Region llenas de cifras de provincias canadienses, junto al panel Data, que ofrece subida de CSV, Magic Import y sincronización con Google Sheet.
    La vista de datos, aquí en un proyecto de gráfico de barras. Sube un CSV, saca los números de una imagen con Magic Import o sincroniza una Google Sheet. El panel es el mismo en todos los tipos de gráfico.
  4. 04

    Map the time column and the category columns

    Confirm which column is read as the time axis and which columns feed the individual bands. This is usually automatic when your first column is clearly a date, but check it if PlotSet has picked up an extra column, like an ID or a total, as a band of its own.

    El panel de datos de PlotSet con las asignaciones de columnas resaltadas: Label/time apuntando a la columna A, Values a la columna B y Filter/color a la columna C, con el botón Auto Binding debajo.
    Las asignaciones deciden qué columna se convierte en la etiqueta, cuál aporta los valores y cuál define el color. Auto Binding las deduce de tus encabezados, así que revísalas en lugar de darlas por buenas.
  5. 05

    Order the bands so the shift reads

    This is the one setting that decides whether the chart tells a story or looks like a tangle. Order by peak time so early risers sit at the outer edges and late risers sit toward the middle, or use the inside-out ordering PlotSet offers if your categories rise and fall in an unclear sequence. Try both and see which one straightens the shape out.

  6. 06

    Style the bands and label what matters

    Pick a colour scheme where related categories sit close in hue rather than a full rainbow, since with more than six or seven bands a categorical palette stops being legible. Turn on the tooltip so hovering a band shows its exact value, and skip axis labels: a stream graph has no baseline to put them against.

    El editor de PlotSet en la pestaña Preview: un gráfico de tipo Stream Graph ya terminado en el lienzo y, a la derecha, el panel de ajustes rodeado por un recuadro rojo.
    La pestaña Preview de un gráfico de tipo Stream Graph. Todos los controles de estilo están en el panel enmarcado: apariencia, encabezado, pie de página y las opciones propias de este tipo de gráfico, cada grupo en su propia pestaña.
  7. 07

    Add a title that names the shift

    Because the chart has no axis to lean on, the title is doing real work. Name the change itself, for example "Hip-hop overtakes pop in monthly streams", rather than a generic label like "Streams by genre".

  8. 08

    Send it out: publish, embed or export

    Publish for a live, interactive chart where hovering isolates a band and shows its value, grab the embed code to drop it into a page, or export a PNG, SVG or PDF if you need a static image for a deck.

Empieza con la plantilla de Stream Graph, que ya trae datos de ejemplo cargados, y sustitúyelos por los tuyos.

Abrir la plantilla

Publícalo, incrústalo o expórtalo

El último tramo es igual en todos los tipos de gráfico: Share convierte el gráfico en un enlace público en vivo y un código de incrustación, y Export lo guarda como un archivo estático.

Share: enlace público y código de incrustación

Al activar el código de incrustación y el enlace público, el gráfico queda publicado. El enlace se lo puedes enviar a cualquiera sin problema, y el código de incrustación se coloca en cualquier página como un iframe que conserva los tooltips al pasar el cursor y toda la interactividad. Si editas el gráfico más adelante, haz clic en Recreate para llevar esos cambios a ambos.

La barra de herramientas del editor de PlotSet con el botón Share resaltado, justo al lado del botón Export.
Share es lo que convierte un gráfico terminado en un enlace público y un código de incrustación.
El diálogo Share de PlotSet: el interruptor que activa el código de incrustación y el enlace público, los botones Link, Embed, Facebook, Reddit, Twitter, LinkedIn y Email, y el enlace público del gráfico con un botón Copy.
Activa el código de incrustación y el enlace público, y después copia el enlace o llévate el iframe. Recreate envía las ediciones posteriores a todos los que ya lo tengan.

Export: SVG, PNG o JPG

Export guarda una copia estática en el tamaño que necesites. El SVG se mantiene nítido a cualquier escala y se puede seguir editando en una herramienta de diseño; PNG y JPG son la opción segura para diapositivas y documentos. El multiplicador de escala es lo que te da una imagen nítida en una pantalla retina.

La barra de herramientas del editor de PlotSet con el botón Export resaltado.
Export es el camino hacia un archivo estático para una diapositiva o un informe.
El diálogo Export chart de PlotSet: un selector de escala en 2x, los campos de ancho y alto fijados en 1000 por 600, y el menú de formato abierto con SVG, PNG y JPG.
El SVG se mantiene nítido a cualquier tamaño y se puede seguir editando en una herramienta de diseño; PNG y JPG son la apuesta segura para una presentación. Ajusta la escala antes de exportar para que la imagen se vea nítida en una pantalla retina.

Consejos de estilo para un Stream Graph

Order by peak time first, size second

Ordering categories by when each one peaks (earliest at the edges, latest toward the centre) is what turns a knot of overlapping bands into a readable sequence. Only fall back to ordering by total size if your categories genuinely all peak around the same time.

Group small categories instead of colouring all of them

Past seven or eight bands, individual colours stop being distinguishable at a glance. Combine the smallest categories into an "Other" band before upload, or use a sequential palette within a family (three shades of blue for three related genres) rather than three unrelated hues.

Turn on hover tooltips, always

There is no axis to read a value from, so the tooltip is not a nice-to-have here, it is the only way anyone gets a number off the chart. Publish it interactively rather than exporting a static image whenever the values themselves matter.

Keep the time axis dense and evenly spaced

Weekly or monthly points with no missing periods produce smooth, trustworthy curves. A handful of widely spaced points forces PlotSet to interpolate over a long gap, which can imply a smooth rise or fall that the data never actually measured.

Errores comunes al hacer un Stream Graph

The bands look like a tangled knot instead of a flow

This is almost always the band order, not the data. Switch from source or alphabetical order to peak-time ordering, or try the inside-out variant. A stream graph with the wrong order is unreadable regardless of how clean the numbers underneath are.

One category shows a flat zero the whole way through

Check whether that column got read from a long-format row rather than a wide column, which leaves every cell but one blank and therefore zero. Re-pivot the source sheet so that category has its own real value at every time point.

The shape spikes sharply between two points for no reason

Look for an uneven gap in your time column, like a monthly series that skips a quarter. PlotSet interpolates across whatever gap exists, and a wide one produces a curve that looks more dramatic than the two real data points support. Fill in the missing period or shorten the interval.

Aprende más sobre el Stream Graph

¿No estás seguro de que el Stream Graph sea la opción correcta? Descubre qué es, cuándo usarlo y cuándo no.

Sobre el Stream Graph

Stream Graph: preguntas frecuentes

Wide format: one row per time point in the first column, one column per category, and a value in each cell. If your export is long format, one row per date-category pair, pivot it into wide format in your spreadsheet tool before uploading.

Crea tu Stream Graph ahora

Gratis para empezar con más de 300 plantillas. No se necesita tarjeta de crédito.