Display Sankey diagrams in IPython / Jupyter notebook using d3-sankey-diagram.
pip install ipysankeywidgetor with uv:
uv add ipysankeywidgetor with conda:
conda install -c conda-forge ipysankeywidgetFor a development install, see DEVELOPING.md.
Tested in Firefox and Chrome. There have been reports that it's not working in Safari.
See the
d3-sankey-diagram API docs:
the attributes of the SankeyWidget are the same as the properties of the sankey object described there.
To change the figure size, use the ipywidgets Layout object:
layout = Layout(width="1000", height="1200")
SankeyWidget(links=data, layout=layout)See notebooks in examples folder for usage examples.
uv run jupyter lab examples/Simple\ example.ipynbYou can also try these online using Binder, or follow the links to static versions on nbviewer:
- Updated to use anywidget for simpler packaging.
- Updated d3-sankey-diagram to v0.9.1
- Compatible with Jupyter Lab as well as Jupyter notebook.
- Expose d3-sankey-diagram nodePositions() option to allow for custom node layout.
- Experimental support for link "markers"
- Experimental support for showing HTML info for links
- Update to d3-sankey-diagram v0.8.0
- Now supports Jupyterlab
- You can now show link values as SVG text elements. Set
linkLabelFormatto a d3-format string; links whose value is more thanlinkLabelMinWidthwill have a label using that format. - Upgrade to d3-sankey-diagram version 0.7.3
- ipysankeywidget can now be installed using conda (thanks to Ali Alsabbah #33)
- Add a check for duplicate links (thanks to Remi Bois #23)
- Add events for clicking on nodes and links:
on_node_clickedandon_link_clicked. These replace theon_selectedevent.
- Rick Lupton
- Nicholas Bollweg
- Ali Alsabbah
- Remi Bois
- Miguel Mendez