DevExtreme Angular - Rearrange Nodes
The Sankey's algorithm distributes nodes between columns. This distribution ensures a proper node-to-node flow direction. You cannot move nodes from one column to another because this alters the flow direction.
However, you can sort nodes within a column. Configure the sortData object so that its fields correspond to nodes. The field values should be node weights: the heavier the node, the lower it is in its column. Refer to the sortData description for an example.
Nodes in a column are separated by a space. You can use the node.padding option to specify this space. In the following code, this distance is reduced to 1 pixel:
jQuery
$(function() { $("#sankeyContainer").dxSankey({ // ... node: { padding: 1 } }); });
Angular
<dx-sankey ... > <dxo-node [padding]="1"></dxo-node> </dx-sankey>
import { DxSankeyModule } from "devextreme-angular"; // ... export class AppComponent { // ... } @NgModule({ imports: [ // ... DxSankeyModule ], // ... })
Vue
<template> <DxSankey ... > <DxNode :padding="1" /> </DxSankey> </template> <script> import DxSankey, { DxNode } from 'devextreme-vue/sankey'; export default { components: { DxSankey, DxNode } } </script>
React
import React from 'react'; import Sankey, { Node } from 'devextreme-react/sankey'; class App extends React.Component { render() { return ( <Sankey ... > <Node padding={1} /> </Sankey> ) } } export default App;
Each column can be aligned vertically. You can find an example in the alignment option's description.
See Also
If you have technical questions, please create a support ticket in the DevExpress Support Center.