Streamgraph code ported to JavaScript

Lee Byron open-sourced his streamgraph code in Processing about a month ago. Jason Sundram has taken that and ported it to JavaScript, using Processing.js.

The algorithms are the same as that in the original, but of course the natural benefit is that people don’t need Java to run it their browsers. Jason has also added a few features including dynamic sizing, more straightforward settings, and some interaction with zoom and hover control. Really nice work.

Grab the code, plus examples on GitHub.

[Thanks, Jason]


  • Nathan,

    Thanks very much for the link – very exciting work being done here! Streamgraphs to my eye are very captivating data expressions, more elegantly evolved than the stacked-area chart-type; and I never saw them until today!

    You commented last month that you had started work on a port to actionScript; how far did you get, and does seeing this javaScript port refresh your perspective on how best to do it?

    The reason I ask is that seeing this inspires me to work on a port to Flex/ActionScript, for a major Flex charting project we have upcoming, where streamgrpahs would be a tremendous improvement over area charts. The Flex charting API provides a good foundation, but it definitely needs customization. So the first thing I’m doing is evaluating the general scope (and whether or not I need to use other Flex APIs like Degrafa and/or Axiis – I’m betting I will).

    many thanks!


Jobs Charted by State and Salary

Jobs and pay can vary a lot depending on where you live, based on 2013 data from the Bureau of Labor Statistics. Here’s an interactive to look.

Years You Have Left to Live, Probably

The individual data points of life are much less predictable than the average. Here’s a simulation that shows you how much time is left on the clock.

Marrying Age

People get married at various ages, but there are definite trends that vary across demographic groups. What do these trends look like?

Shifting Incomes for American Jobs

For various occupations, the difference between the person who makes the most and the one who makes the least can be significant.