Two Sankey-style diagramming tools which I have shamefully neglected until today are ParSets and Fineo. Both visualization tools have been released to the public in 2009 (first publication on ParSets in a research paper in 2006, predecessor project of Fineo, the Design Research Map project first mentioned in 2008). The main idea behind both tools is to visualize statistical data by grouping it into categories and showing bands/streams/parallelograms between the categories to represent the relationships between the categories.

ParSets and Fineo have similarities and differences. But before we go into details, let’s have a look at both tools first. Here is a screenshot from ParSets:

And here is one from Fineo:

ParSets was developed by Robert Kosara (Department of Computer Science, College of Computing and Informatics, University of North Carolina at Charlotte) and Caroline Ziemkiewicz (Brown University). The tool is open source and runs on Mac and Windows platforms. Read more about ParSets on the project page on Robert’s EagerEyes blog. The project had some funding from the U.S. Department of Homeland Security, and the tool is designed to work on census data or other statistical data.

Fineo was developed by the DensityDesign group, a Research Lab in the design department (INDACO) of the Politecnico di Milano in Italy. This is an online tool and can be used by uploading csv data files. Try the online version here, or visit the project page on the Density Design blog. This is a self-sponsored project, targeting at designers and infographers.

There are some differences in the layout and design. ParSets shows the link between categories as parallelograms, while Fineo has curved bands. The main orientation of the diagram is top-to-bottom in ParSets, and left-to-right in Fineo. Hence the nodes (representing categories) are thin horizontal lines in ParSets, and vertical black bars in Fineo. Not sure, but this is probably an option setting.

The main difference though seems to be that ParSets keeps track of subdivisions over neighbouring categories. Fineo looks more at pairs of categories (category – relation – category) and is according to the authors more inspired by this feature of Sankey diagrams (read here). On a side note I would like to add to this that both ParSets and Fineo lack one important of characteristic of Sankey diagrams, which differentiates them from Sankey diagrams: flow direction, or, in other words, a ‘from-to’ relationship. “Both of the visualizations are weighted bipartite graphs”, but not directed graphs.

Still, both tools are very good pieces of work, and I am looking forward to seeing updates in the future.

I found the idea behind the below Sankey diagrams quite compelling. Both are from the user manual of the ‘Umberto for Carbon Footprint’ software by ifu Hamburg. They are also the makers of e!Sankey, and it seems as if most of the e!Sankey software features are also included in this new software for modeling and calculating product carbon footprints.

I played with the demo models included in the trial version, one of which is for a toy parrot. The product life cycle is modeled from cradle-to-grave with the raw materials, assembly, distribution, use, and end-of-life phases. Using embodied carbon data from an LCI database for the raw materials and energy used along the life-cycle, a carbon footprint is calculated. The material and energy flows related to the product manufacturing and use are then shown as a Sankey diagram.

The Sankey view can be switched to an ’embodied carbon’ or carbon load view, which shows the ‘carbon rucksack’ of the product as it cumulates along the supply chain.

In this second Sankey diagram the arrows representing the greenhouse gas burdens caused by the waste disposal phase are turned around, so that both the upstream supply chain as well as the downstream processing after the product use are visually added. They form one large Sankey arrow (shown in green here) for the product’s carbon footprint.

This is of course not a Sankey diagram drawing software, but rather a modeling or calcalation tool for carbon footprints. Still, I think, this is a fine use case where Sankey diagrams unfold their full visualization power. It can be immediately grasped which stage of the life cycle, or which raw material or energy supply contributes most to the carbon footprint.

Note: Have added this to the software list.

The below Sankey diagram from the JS Systems homepage tries to show the differences between a normal Otto engine and the “JS Motor”. The prototype JS rotation motor, from what I grasp, has different compression and expansion parameters and could prove to be twice as efficient.

To show the difference in efficiency, two Sankey diagrams have been superimposed. The diagram with the grey outline is for the Otto engine, the one with the red outline is for the JS engine. The diagram shows energy losses branching off to the right (e.g. thermodynamic losses 17% in a typical Otto engine, 13% only in the JS motor). Useful energy is represented by the flow to the top.

I am not endorsing this motor, nor have I seen it work. But I like the idea of presenting a comparison in one Sankey diagram instead of two separate Sankey diagrams.

Also, please check out this previous blog post on Sankey diagram overlay.

I have been presenting “bad examples” of Sankey diagram before (like this one, or this one), and I have a few more in my collection.
The following one from an PowerPoint presentation by someone from PennState. The topic of the presentation is actually quite interesting: thermoacoustic refrigeration – using sound waves for cooling. It describes the results of a research project.

Unfortunately, this Sankey diagram has some shortfalls, which qualify it as being a “bad example”. These are:

  • Sankey arrow widths are not always to scale (see for example the flow of 7.6 W in the middle labelled “surface”, which is definitely not half the width of the 14.6 W flow marked “Joule loss”)
  • Arrows branching out of the main flow are shown as short stubs, just as if the quantity is represented by the length (!) of the arrow, rather than its width. A completely new concept for Sankey diagrams. Have a look at the 0.9 W mini-stub “Surface” in the cone area, and at the 1.2 W stub “Surface” in the linear motor box.
  • The diagram uses dotted-dashed frames to mark sections in the diagram, at the same time it uses white arrows with a simple border line for the Sankey arrows. Either colored or grey areas, or colored Sankey arrows would have helped enormously.
  • Arrows branch off orthogonally, and to accomadate for the reduced quantity in the remaining flow, the border of the arrow on the opposite side curves in. This is not wrong as such, but rather uncommon, and can best be observed in the linear motor section at the left. Same phenomenon for arrows joining the main arrow. The arrow heads just overlap rather than actually joining the other arrow graphically. The receiveing arrow bulges out on the other side.
  • The section between the exhaust heat exchanger and the regenerator is awkward, and probably wrong. How can you branch off 296.6 W and 5.8 from a stream of 320.5 W, and are still able to have a flow of 63.0 W lead away from the remaining flow. I have not yet figured out what the problem is, but possibly the “Carnot minimum” flow was supposed to be drawn the other way round.

When I get to figure out the last issue I might draw this Sankey diagram myself, and post it here.

Does it take a hero like Daniel Ferry from the Excelhero blog to do a Sankey diagram in Excel? Well, you may not have to be a hero, but as Daniel puts it, this is “… seriously tedious work, as Excel has no native chart type to do what is required automatically.”

Daniel used the LLNL 2008 U.S. energy flow charts as model for his Sankey diagrams in Excel. Here is what he came up with (clipped section):

Actually the result is quite close to the original Sankey diagrams, with similar colours, arrow routing, and even the same fonts.

Daniel explains:

“I lightened the colors on the input boxes (had to do it), but otherwise I think my rendition is faithful to the original. I may have stayed too true to flow pipe proportionality. Some of them are so thin they do not print well. This should be addressed. While my pipes are seemingly lined up, they will not survive the chart being resized vertically without some small errors, either gaps in a pipe stack, or overlap.
An interesting project would be to create an Excel addin that would allow you to specify category box locations and have VBA do all of the grunt work in lining up the flow pipes, automatically creating the chart. (…) In it’s current form no VBA was used. “

So, if you wish to draw a Sankey diagram with the Microsoft Office package installed on your computer, and enjoy using VBA, you might want to give it a shot. Gabor Doka’s Sankey helper (an Excel macro) is another option. Dedicated Sankey diagram software tools are available. It would recommend one of those, if you need to produce more than one Sankey diagram, or wish to make updates to your diagram and layout adaptations more comfortably.

BTW, here is the story on the man behind the Sankey diagrams at LLNL.

I recently discovered Trefis and their Sankey-style diagrams as a visualization. Trefis models are used to determine the target stock price for companies, by looking at their product portfolios and playing around with the expected growth rates and market shares. Well, there is a whole model behind these interactive graphics, but the interesting part is that the share of the companies turnover is broken down by products, and is shown with proportional Sankey-like arrow magnitudes.

At the tip of the joint arrow head you can see the target share price, which is calculated as “the result of mathematically combining all of our forecasts for a company into a single number representing the per share value of the company.” When playing around with the parameters, this value will adapt accordingly.

Here are some examples:

Forbes, techCrunch and the New York Times all reported about what the latter calls “America’s Next Top Stock Model”, but none of the mentioned Sankey diagrams though.

Have fun playing around with the models … they have fancy Web2.0-silverlightish animations too. But don’t blame me if the share doesn’t reach the forecasted price 😉

Gabor Doka, developer of SankeyHelper is currently working on SankeyTurtle, the implementation of a simple language for arrow routing in his Excel macro-based diagramming tool SankeyHelper. SankeyTurtle is currently being beta-tested.

The idea of SankeyTurtle code is to give each Sankey flux – each data cell – an accompagnying instruction how to draw the flux exactly in terms of path and geometry. The SankeyTurtle syntax is based on the vintage Logo TurtleGraphics drawing language, where you tell an imaginary turtle with a pen attached to it’s tail commands like “Move Forward” and “Turn Right 90°” and record the trail of the pen.

This will definitely an exciting improvement for all users of the SankeyHelper freeware … sorry, Sankeyware.

I’ll keep you posted about the progress and any official release.

Found the following Sankey diagrams in an educational presentation by UNIDO on Cleaner Production (CP).

This is actually quite a nice idea to show the improvements resulting from a technical measure. The diagram on the left represents the original situation, while on the right it is seen in grey. The flow diagram for the new situation overlays the “old” diagram. Both are scaled to 1 kg of varnish applied to a workpiece (the green Sankey arrow), so the reductions in input quantity and emissions show the actual savings achieved.