Return to site

Sankey Diagram Software

broken image


  1. Sankey diagram downloads. Download a trial version of e!Sankey, the leading software for drawing Sankey diagrams. The trial version is free-of-charge and allows testing all functions of the software, before you decide to purchase licenses of e!Sankey. Further we are providing Sankey diagram as samples for download.
  2. Sankey Flow Show ( webpage) A web-based Sankey diagram tool by Thortec Software in Germany. Straight-forward drawing of diagrams. Many layout options, e.g. Node types, arrow curves, arrow shadow. Diagrams can be stored locally or in cloud drive. Free trial/student account, pro account at 3.99 US$/month.

A new web-based Sankey tool, Sankey Flow Show, is available from German software maker THORTEC Software.It promises 'attractive flow diagrams made in minutes'. And indeed the tool is rich in features and design options: Different node elements, shadow effect for arrows (called ‘connections'), toggle constant/Sankey connections style, and customizable data input are some of the highlights.

Overview

A sankey diagram is a visualization used to depict a flowfrom one set of values to another. The things being connected arecalled nodes and the connections arecalled links. Sankeys are best used when you want to show amany-to-many mapping between two domains (e.g., universities andmajors) or multiple paths through a set of stages (for instance,Google Analytics uses sankeys to show how traffic flows frompages to other pages on your web site).

For the curious, they're named after Captain Sankey, who created adiagramof steam engine efficiency that used arrows having widthsproportional to heat loss.

Software

Note: The sankey chart may be undergoing substantialrevisions in future Google Charts releases.

Sankey diagrams are rendered in the browser using SVG or VML,whichever is appropriate for the user's browser. Google's sankeylayout code is derived from D3's sankey layout code.

Note: Google sankey charts are unavailable in MicrosoftInternet Explorer 8 and earlier versions.

A Simple Example

Suppose you had two categories, A and B, that connect to threeother categories, X, Y, and Z. Some of those connections are heavierthan others. For instance, B has a thin connection to X and a muchthicker connection to Y.

Sankey diagram software free

Try hovering over one of the links to highlight the connection.

To create a sankey chart, provide a set of rows, with eachcontaining information about one connection: from, to, andweight. Then use the google.visualization.Sankey() methodto initialize the chart and then the draw() method torender it:

Note: Avoid cycles in your data: if A links to itself, orlinks to B which links to C which links to A, your chart will notrender.

Multilevel Sankeys

You can create a Sankey chart with multiple levels of connections:

Sankey charts will add additional levels as needed, laying them outautomatically. Here's the complete code for the above chart:

Controlling Colors

Sankey charts have the ability to set custom colors for nodes and links. Both nodes and links can be given custom color palettes using their colors options (sankey.node.colors and sankey.link.colors, respectively). They can also be given different coloring modes using the colorMode option.

If the colors aren't customized, they default to the standardMaterial palette.

You can control the colors of the links, nodes, and labels withconfiguration options. Here, we select three with the same hue butdifferent brightnesses:

Here's what those options look like:

You can also control the transparency of the links withthe sankey.link.color.fillOpacity option:

Free Sankey Diagram Software

To create a border around the links, usethe sankey.link.color.strokeand sankey.link.color.strokeWidth options:

The stroke color can be specified either in RGB format or byEnglish name.

Customizing Labels

The text on sankey charts can be customizedusing sankey.node.label.fontName and friends:

Here's the option stanza for the above chart:

Sankey Diagram Software

You can adjust the position of the labels relative to the nodeswith the sankey.node.labelPadding option:

In the chart above, we've added 30 pixels of padding between the labelsand the nodes.

Adjusting Nodes

You can control the width of the nodeswith sankey.node.width:

Above, we set the node width to 2.

You can adjust the distance between the nodeswith sankey.node.nodePadding:

Sankey

Note: The sankey chart may be undergoing substantialrevisions in future Google Charts releases.

Sankey diagrams are rendered in the browser using SVG or VML,whichever is appropriate for the user's browser. Google's sankeylayout code is derived from D3's sankey layout code.

Note: Google sankey charts are unavailable in MicrosoftInternet Explorer 8 and earlier versions.

A Simple Example

Suppose you had two categories, A and B, that connect to threeother categories, X, Y, and Z. Some of those connections are heavierthan others. For instance, B has a thin connection to X and a muchthicker connection to Y.


Try hovering over one of the links to highlight the connection.

To create a sankey chart, provide a set of rows, with eachcontaining information about one connection: from, to, andweight. Then use the google.visualization.Sankey() methodto initialize the chart and then the draw() method torender it:

Note: Avoid cycles in your data: if A links to itself, orlinks to B which links to C which links to A, your chart will notrender.

Multilevel Sankeys

You can create a Sankey chart with multiple levels of connections:

Sankey charts will add additional levels as needed, laying them outautomatically. Here's the complete code for the above chart:

Controlling Colors

Sankey charts have the ability to set custom colors for nodes and links. Both nodes and links can be given custom color palettes using their colors options (sankey.node.colors and sankey.link.colors, respectively). They can also be given different coloring modes using the colorMode option.

If the colors aren't customized, they default to the standardMaterial palette.

You can control the colors of the links, nodes, and labels withconfiguration options. Here, we select three with the same hue butdifferent brightnesses:

Here's what those options look like:

You can also control the transparency of the links withthe sankey.link.color.fillOpacity option:

Free Sankey Diagram Software

To create a border around the links, usethe sankey.link.color.strokeand sankey.link.color.strokeWidth options:

The stroke color can be specified either in RGB format or byEnglish name.

Customizing Labels

The text on sankey charts can be customizedusing sankey.node.label.fontName and friends:

Here's the option stanza for the above chart:

You can adjust the position of the labels relative to the nodeswith the sankey.node.labelPadding option:

In the chart above, we've added 30 pixels of padding between the labelsand the nodes.

Adjusting Nodes

You can control the width of the nodeswith sankey.node.width:

Above, we set the node width to 2.

You can adjust the distance between the nodeswith sankey.node.nodePadding:

In the above chart, we set sankey.node.nodePadding to 80.

Loading

The google.charts.load package name is 'sankey':

The visualization's class name is google.visualization.Sankey:

Sankey Diagram Program Free

Data Format

Rows: Each row in the table represents aconnection between two labels. The third column indicates the strengthof that connection, and will be reflected in the width of the pathbetween the labels.

Columns:

Column 0Column 1Column 2..Column N (optional)
Purpose:SourceDestinationValue..Optional roles
Data Type:stringstringnumber..
Role:domaindomaindata..
Optional column roles:

None

Ideneb 1.3. None

None

..

Configuration Options

Name
forceIFrame

Draws the chart inside an inline frame. (Note that on IE8, this option is ignored; all IE8 charts are drawn in i-frames.)

Default: false
height

Height of the chart, in pixels.

Default: height of the containing element
sankey.iterations

With multilevel sankeys, it's sometimes nonobvious where nodes should be placed for optimal readability. The D3 layout engine experiments with different node layouts, stopping when sankey.iterations attempts have been made. The larger this number, the more pleasing the layout of complex sankeys, but it comes with a cost: the sankeys will take longer to render. Conversely, the shorter this number, the quicker your charts will render.

Default: 32
sankey.link

Controls attributes of the connections between nodes. Currently all attributes pertain to color:

Default: null
sankey.link.colorMode

Sets a coloring mode for the links between nodes. Possible values:

  • 'source' - The color of the source node is used for the links to all target nodes.
  • 'target' - The color of the target node is used for the link to its source nodes.
  • 'gradient' - The link between a source and target node is colored as a gradient from the source node color to the target node color.
  • 'none' - the default option; link colors will be set to the default (or a color as specified by the sankey.link.color.fill and sankey.link.color.fillOpacity options).

This option overrides sankey.link.color.

Default: 'none'
sankey.node

Controls attributes of the nodes (the vertical bars between links):

Default: null
sankey.node.colorMode

Sets a coloring mode for the sankey nodes. Possible values:

  • 'unique' - Each node will receive a unique color.
Default: 'unique'
tooltip

An object with members to configure various tooltip elements. To specify properties of this object, you can use object literal notation, as shown here:

Default: null
tooltip.isHtml

If set to true, use HTML-rendered (rather than SVG-rendered) tooltips. See Customizing Tooltip Content for more details.

Note: customization of the HTML tooltip content via the tooltip column data role is not supported by the Bubble Chart visualization.

Default: false
tooltip.textStyle

An object that specifies the tooltip text style. The object has this format:

The color can be any HTML color string, for example: 'red' or '#00cc00'. Also see fontName and fontSize.

Default: {color: 'black', fontName: , fontSize: }
width

Width of the chart, in pixels.

Default: width of the containing element

Methods

Method
draw(data, options)

Draws the chart. The chart accepts further method calls only after the readyevent is fired. Extended description.

getBoundingBox(id)

Returns an object containing the left, top, width, and height of chart element id. The format for id isn't yet documented (they're the return values of event handlers), but here are some examples:

var cli = chart.getChartLayoutInterface();
Height of the chart area
cli.getBoundingBox('chartarea').height
Width of the third bar in the first series of a bar or column chart
cli.getBoundingBox('bar#0#2').width
Bounding box of the fifth wedge of a pie chart
cli.getBoundingBox('slice#4')
Bounding box of the chart data of a vertical (e.g., column) chart:
cli.getBoundingBox('vAxis#0#gridline')
Bounding box of the chart data of a horizontal (e.g., bar) chart:
cli.getBoundingBox('hAxis#0#gridline')

Values are relative to the container of the chart. Call this after the chart is drawn.

Return Type: object
getSelection()

Returns an array of the selected chart entities. Selectable entities are bars, legend entries and categories. For this chart, only one entity can be selected at any given moment. Extended description.

setSelection()

Selects the specified chart entities. Cancels any previous selection. Selectable entities are bars, legend entries and categories. For this chart, only one entity can be selected at a time. Extended description.

Return Type: none
clearChart()

Clears the chart, and releases all of its allocated resources.

Events

Sankey Diagram software, free download

Name
error

Fired when an error occurs when attempting to render the chart.

Properties: id, message
onmouseover

Fired when the user mouses over a visual entity. Passes back the row and column indices of the corresponding data table element. A bar correlates to a cell in the data table, a legend entry to a column (row index is null), and a category to a row (column index is null).

onmouseout

Fired when the user mouses away from a visual entity. Passes back the row and column indices of the corresponding data table element. A bar correlates to a cell in the data table, a legend entry to a column (row index is null), and a category to a row (column index is null).

Properties: row, column
ready

The chart is ready for external method calls. If you want to interact with the chart, and call methods after you draw it, you should set up a listener for this event before you call the draw method, and call them only after the event was fired.

select

Fired when the user clicks a visual entity. To learn what has been selected, call getSelection().

Properties: none

Data Policy

Sankey Diagram Software Free

All code and data are processed and rendered in the browser. No data is sent to any server.





broken image