Stream Graph – 2019 Box Office

Aaron Sanders - 4 minute(s) read.

One of the top innovative visualizations in use today is the stream graph, according to A stream graph is a variation of a stacked area graph without a fixed axis, allowing the user to view the data as if it is a “stream” of data showing how large or small the data flows over time. Stream graphs can take a simple view of data and show at a glance when the largest and smallest flows occurred. When it is broken out by groups a user can determine how much of that flow is made up by one group as opposed to another.

The New York Times published an example of this visualization for box office receipts for movies from 1986 to 2008 which can be viewed here.

As an example of how this visualization can be viewed, we look at box office receipts by week for movies released in 2019 through Power BI below. We used the Stream Graph from the marketplace and loaded it to the Power BI service.

Below are the steps taken:

  1. Source data from and export to a .xlsx file
  2. Start a new Power BI Desktop file and select Get Data
  3. Select File ⇨ Excel ⇨ select the file from file explorer and select Open
  4. In the Navigator window select the Sheet containing the data. We can either Load the data as is at this step or select Transform to make manipulations to the data
  5. After loading the data, we can select Edit Queries in the menu ribbon to make modifications such as creating dates from datetime columns, transform columns, etc.
  6. If not already available import the Steam Graph visualization from the marketplace or file if downloaded
    • Select the ellipses from the Visualizations section and select Import from marketplace/file and search for the visualization in the marketplace or the visualization file
  7. Drag columns to the Category, Group, and Values areas for the visualization

From here, we can make any further manipulations such as titles, legends, and colors.

Through this visualization, we can spot trends immediately. From the end of April through May we can see how much Avengers: Endgame dominated the box office, and how high those box office totals sustained throughout the weeks after release. Similarly, at the end of the year Star Wars: The Rise of Skywalker dominated the box office. The view from this stream graph gives the user an easy analysis of the ups and downs of the year, from the lull throughout the first of the year and through the peaks and valleys of the major releases. With this type of analysis, studios can determine which months they want to release certain movies, whether indie movies needing room to breathe or blockbusters looking to dominate the mindshare of the viewing public.

What was interesting to find was that there are not any native Stream Graph visualizations for two of the other big data analysis players: MicroStrategy and Tableau. There are articles and D3 third party visualizations available, but nothing provided by the tools themselves. For basic needs in any other tools we would need three components: a date field, a value field, and a category field. Setting the dataset to that structure will allow us to produce a stream graph in any tool.

This type of visualization has many use cases across varying industries. Any companies looking for trending analysis over different time periods (hour, day, year, etc.) should look to implement stream graphs into their dashboard portfolios.

By comparison here is a stacked area graph of the same data. We can see the visually appealing nature of the stream graph compared to the stacked area graph.

Stream graph: link