IPython / Jupyter Sankey diagram widget
Python JavaScript Shell
Clone or download
ricklupton Merge pull request #26 from mmeendez8/patch-1
Update README (add figure size explanation)
Latest commit 931a813 Apr 23, 2018


IPython Sankey diagram widget Binder

Display Sankey diagrams in IPython / Jupyter notebook using d3-sankey-diagram.


Prerequesites: You need to have installed and enabled ipywidgets. If installing with pip, make sure to have enabled it by running jupyter nbextension enable --py --sys-prefix widgetsnbextension. Installing using conda does this automatically.

To install use pip:

$ pip install ipysankeywidget
$ jupyter nbextension enable --py --sys-prefix ipysankeywidget

For a development installation (requires npm),

$ git clone https://github.com/ricklupton/ipysankeywidget.git
$ cd ipysankeywidget
$ pip install -e .
$ jupyter nbextension install --py --symlink --user ipysankeywidget
$ jupyter nbextension enable --py --user ipysankeywidget

Browser support

Tested in Firefox and Chrome. There have been reports that it's not working in Safari.


See the d3-sankey-diagram API docs: the value of the SankeyWidget is exactly the same as the sankey object described there.


See notebooks in examples folder for usage examples. You can try these online using Binder, or follow the links to static versions on nbviewer:



  • Add events for clicking on nodes and links: on_node_clicked and on_link_clicked. These replace the on_selected event.
  • Change figure size using Layout object:
layout = Layout(width="1000", height="1200")