SankeyMATIC Manual

Topic Index

Getting Started: Nodes and Flows

Entering Data

In the field named “Inputs”, enter one “Flow” per line, using this format:

Source [Number] Target
Example: Income [100] Checking Account

After entering one or more Flows, click “Preview”.

SankeyMATIC will automatically lay out a diagram connecting all Source and Target “Nodes” using Flows with proportional thicknesses.

Using the same Node name in multiple lines will produce multiple flows in or out of that Node.

Note: Node names are case sensitive: 'A' is not considered a match for 'a'.

Simple sankey example

Diagram Shape and Size

Experiment with the “Diagram Width” and “Height” settings to find what shape communicates your data most clearly.

Tall example

Is your data shown best using:

  • A tall rectangle?
  • A wide rectangle?
  • Something closer to a square?

These three examples all share the same inputs—only the dimensions of the graph have been changed.

Narrow Short example Wide example

Spacing between Nodes

Small spacing between Nodes can lead to crowded or muddy diagrams, difficult to parse visually.

Small Node spacing example
Spacing = around 10%

Large spacing between Nodes leads to thin spidery Flows, making differences between sizes harder to distinguish.

Large Node spacing example
Spacing = around 90%

Find a happy medium, appropriate for making clear comparisons between Flows.

Good Node spacing example
Spacing = around 50%

Getting Data from a Spreadsheet?

Given data laid out like this in a spreadsheet document:

1 From To Amount

Add another spreadsheet column applying either of the following formulas to all of your data rows:

=A2 & " [" & C2 & "] " & B2
=CONCATENATE(A2, " [", C2, "] ", B2)

(Both formulas rearrange the data in the same way. Both have been tested in Excel and in Google Sheets.)

The new column will contain your data rearranged like this:

2IncomeBudget100 Income [100] Budget
3BudgetExpenses60.75 Budget [60.75] Expenses
4BudgetSavings39.25 Budget [39.25] Savings

Then copy & paste the values from that new column into the SankeyMATIC “Inputs” field, and voilà:

Spreadsheet example

Topic Index