Scaling Sankey nodes and links to balance small nodes

I am building a Sankey diagram with many nodes, unfortunately the data has a few extreme points where some nodes have a value of 100000+ and some have a value of 10.

I have tried to map the data so that the the minimum height of each node would be higher(also applying the map on the link), but this results in miss-alignment between the ode and the link.

I believe d3.sankeyLinkHorizontal() which draws the path does not get the mapping function.

Is there a better way to have a minimum height on a node?

Appreciate the help on this,

Did you manage to solve this. I am facing similar issue. Have tried node scaling using scaleLinear but it seems sankey has its own function for scaling nodes based on link value.


I eventually created a function that creates a ‘fake dataset’ that adds a factor to the really small nodes and referenced the real dataset when hovering the nodes.

I know its not the cleanest way to do this but it works.


Can you give some pointers so i can use that as well to solve similar issue. I have some nodes with 3mn value and some around 120 and 80 only. So the smaller ones aren’t visible at all. Thanks :slight_smile: