sy-sankey
Sankey
Represent quantities moving between nodes through link widths.
sy-sankey
Explain branching and merging flows of energy, users, or funds.
Keep link units consistent. Explain cases where inflow and outflow do not balance.
Base chart tier: Pro. Features such as additional renderers and custom branding have separate entitlement requirements.
| Input | Data description |
|---|---|
data | { nodes?, links: [{ source, target, value }] }. |
nodeAlign | How nodes align within stages. |
- Run in Components
Change options and view framework-specific code
- Shared installation and integration
Complete implementation example
<div id="chart-container" style="width: 100%; min-width: 0;"></div>
<script type="module">
import { defineCustomElement as define0 } from '@syidax/advanced-pro/components/sy-sankey.js';
define0();
// Pro: complete registerLicense at app startup using your issued certificate.
// The website preview certificate is not for use in customer apps.
const specs = [
{
"id": "example-chart",
"tag": "sy-sankey",
"props": {
"data": {
"links": [
{
"source": "Inflow",
"target": "Product A",
"value": 42
},
{
"source": "Inflow",
"target": "Product B",
"value": 28
},
{
"source": "Product A",
"target": "Purchase",
"value": 30
},
{
"source": "Product A",
"target": "Outflow",
"value": 12
},
{
"source": "Product B",
"target": "Purchase",
"value": 18
},
{
"source": "Product B",
"target": "Outflow",
"value": 10
}
]
},
"nodeAlign": "justify",
"width": 640,
"height": 360,
"brandPosition": "bottom-right",
"brandLogo": ""
}
}
];
const container = document.querySelector('#chart-container');
const elements = specs.map(({ tag, id, props }) => {
const element = document.createElement(tag);
element.id = id;
Object.assign(element, props);
element.setAttribute('aria-label', 'sankey example chart');
return element;
});
container.replaceChildren(...elements);
const chart = elements.at(-1);
const onEvent = event => {
console.log('nodeClick', event.detail);
};
chart.addEventListener('nodeClick', onEvent);
const observer = new ResizeObserver(([entry]) => {
const width = Math.max(160, Math.floor(entry.contentRect.width));
elements.forEach(element => { element.width = width; });
});
observer.observe(container);
// In an SPA, call this function when the view is disposed.
function disposeChart() {
observer.disconnect();
chart.removeEventListener('nodeClick', onEvent);
container.replaceChildren();
}
</script>Properties
data
{ nodes?, links: [{ source, target, value }] }.
| Item | Value |
|---|---|
| JavaScript property | data |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | SankeyData |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- SankeyData
Type definition
width
Chart width in pixels. If the container width changes, update width from a ResizeObserver.
| Item | Value |
|---|---|
| JavaScript property | width |
| HTML attribute | width |
| Type | number |
| Default | 900 |
height
Chart height in pixels. Allow space for axes, titles, and the legend.
| Item | Value |
|---|---|
| JavaScript property | height |
| HTML attribute | height |
| Type | number |
| Default | 400 |
brandLogo
The default is the Syidax symbol and wordmark. With the Pro chart.branding entitlement, set none to remove it or provide a PNG, JPEG, or WebP data URL to replace it.
| Item | Value |
|---|---|
| JavaScript property | brandLogo |
| HTML attribute | brand-logo |
| Type | string |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
brandPosition
The corner where the logo is anchored. Community and Pro both support all four corners, using the same position on screen and in image exports.
| Item | Value |
|---|---|
| JavaScript property | brandPosition |
| HTML attribute | brand-position |
| Type | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' |
| Default | 'bottom-right' |
| Allowed values | top-left, top-right, bottom-left, bottom-right |
nodeWidth
The nodes' width and the gap between stacked nodes (CSS px).
| Item | Value |
|---|---|
| JavaScript property | nodeWidth |
| HTML attribute | node-width |
| Type | number |
| Default | SANKEY_DEFAULT_NODE_WIDTH |
nodePadding
Set as an HTML attribute or JavaScript property. type: number.
| Item | Value |
|---|---|
| JavaScript property | nodePadding |
| HTML attribute | node-padding |
| Type | number |
| Default | SANKEY_DEFAULT_NODE_PADDING |
nodeAlign
How nodes align within stages.
| Item | Value |
|---|---|
| JavaScript property | nodeAlign |
| HTML attribute | node-align |
| Type | SankeyAlign |
| Default | 'justify' |
| Allowed values | left, right, center, justify |
- SankeyAlign
Type definition
layoutIterations
the relaxation passes that reorder the rows to reduce crossings (d3-sankey's barycentre schedule; 0 = the declared order).
| Item | Value |
|---|---|
| JavaScript property | layoutIterations |
| HTML attribute | layout-iterations |
| Type | number |
| Default | SANKEY_DEFAULT_ITERATIONS |
color
The nodes' fill: auto (the palette by index) or a CSS colour; a node's own color wins.
| Item | Value |
|---|---|
| JavaScript property | color |
| HTML attribute | color |
| Type | string |
| Default | AUTO_COLOR |
linkColor
The links' colour: source / target (the node's colour at that end) or a CSS colour; a link's own color wins.
| Item | Value |
|---|---|
| JavaScript property | linkColor |
| HTML attribute | link-color |
| Type | string |
| Default | 'source' |
linkOpacity
The ribbons' opacity (0 … 1).
| Item | Value |
|---|---|
| JavaScript property | linkOpacity |
| HTML attribute | link-opacity |
| Type | number |
| Default | DEFAULT_LINK_OPACITY |
linkCurvature
the ribbons' centre line: 0 straight … 1 the full S-curve with horizontal tangents at both ends.
| Item | Value |
|---|---|
| JavaScript property | linkCurvature |
| HTML attribute | link-curvature |
| Type | number |
| Default | SANKEY_DEFAULT_CURVATURE |
nodeLabels
the node labels beside the nodes: auto (hidden where they would overlap), show, hide; node-label-value appends the throughput.
| Item | Value |
|---|---|
| JavaScript property | nodeLabels |
| HTML attribute | node-labels |
| Type | SankeyLabelMode |
| Default | 'auto' |
| Allowed values | auto, show, hide |
- SankeyLabelMode
Type definition
nodeLabelValue
Set as an HTML attribute or JavaScript property. type: boolean.
| Item | Value |
|---|---|
| JavaScript property | nodeLabelValue |
| HTML attribute | node-label-value |
| Type | boolean |
| Default | false |
neighbourDim
with a hovered / focused node, the ribbons touching neither of its ends fade to this alpha factor (0 … 1; 1 = no dim).
| Item | Value |
|---|---|
| JavaScript property | neighbourDim |
| HTML attribute | neighbour-dim |
| Type | number |
| Default | DEFAULT_NEIGHBOUR_DIM |
activeColor
The hovered / focused node or link.
| Item | Value |
|---|---|
| JavaScript property | activeColor |
| HTML attribute | active-color |
| Type | string |
| Default | DEFAULT_ACTIVE_COLOR |
chartTitle
The title inside the chart. Explain the data's unit and meaning alongside it.
| Item | Value |
|---|---|
| JavaScript property | chartTitle |
| HTML attribute | chart-title |
| Type | string |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
chartSubtitle
The subtitle inside the chart.
| Item | Value |
|---|---|
| JavaScript property | chartSubtitle |
| HTML attribute | chart-subtitle |
| Type | string |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
enableMouseTracking
Set as an HTML attribute or JavaScript property. type: boolean.
| Item | Value |
|---|---|
| JavaScript property | enableMouseTracking |
| HTML attribute | enable-mouse-tracking |
| Type | boolean |
| Default | true |
tooltip
The tooltip (the shared cartesian tooltip input: trigger, format, html, connector …), its switch, a formatter of the default text.
| Item | Value |
|---|---|
| JavaScript property | tooltip |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CartesianTooltipInput |
| Default | undefined |
| Literals in the type | auto, off |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CartesianTooltipInput
Type definition
tooltipEnabled
Set as an HTML attribute or JavaScript property. type: boolean.
| Item | Value |
|---|---|
| JavaScript property | tooltipEnabled |
| HTML attribute | tooltip-show |
| Type | boolean |
| Default | true |
tooltipFormat
Pass as a JavaScript property. type: (detail: SankeyHitDetail) => string.
| Item | Value |
|---|---|
| JavaScript property | tooltipFormat |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | (detail: SankeyHitDetail) => string |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- SankeyHitDetail
Type definition
animated
Whether to animate initial display and data changes.
| Item | Value |
|---|---|
| JavaScript property | animated |
| HTML attribute | animate |
| Type | boolean |
| Default | false |
animationDuration
Animation duration in milliseconds.
| Item | Value |
|---|---|
| JavaScript property | animationDuration |
| HTML attribute | animation-duration |
| Type | number |
| Default | 600 |
animationEasing
Allowed values: linear, ease-out, ease-in, ease-in-out. Default: 'ease-out'.
| Item | Value |
|---|---|
| JavaScript property | animationEasing |
| HTML attribute | animation-easing |
| Type | SankeyEasing |
| Default | 'ease-out' |
| Allowed values | linear, ease-out, ease-in, ease-in-out |
- SankeyEasing
Type definition
animationType
Allowed values: initial, update. Default: undefined.
| Item | Value |
|---|---|
| JavaScript property | animationType |
| HTML attribute | animation-type |
| Type | SankeyAnimationType |
| Default | undefined |
| Allowed values | initial, update |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- SankeyAnimationType
Type definition
streamSource
§3.6: an external stream source (link upserts); without one the chart keeps its own on the first push.
| Item | Value |
|---|---|
| JavaScript property | streamSource |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | SankeyStreamSource |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- SankeyStreamSource
Type definition
streamMax
Links tracked by the internal stream at most (the oldest leave as windowSlid).
| Item | Value |
|---|---|
| JavaScript property | streamMax |
| HTML attribute | stream-max |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
streamWindow
The newest N streamed links the chart renders (the whole buffer when unset).
| Item | Value |
|---|---|
| JavaScript property | streamWindow |
| HTML attribute | stream-window |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
zoom
Zoom: 'x' | 'y' | 'xy' | true (x) enable the drag rectangle, the pan, the wheel, the pinch and the keyboard over the diagram's unit extents (x 0 → 1 left → right, y 0 → 1 bottom → top — the hidden frame's extents); an object refines mode / drag / keyboard / minRangePx / resetButton / pan / wheel / pinch / inside. Off by default. zoomTo / zoomBy / panBy / resetZoom work regardless of the gesture switches.
| Item | Value |
|---|---|
| JavaScript property | zoom |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CartesianZoomInput |
| Default | undefined |
| Literals in the type | auto, off, true, false, x, y, xy, inside |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CartesianZoomInput
Type definition
engine
Renderer selection: auto, standard, or pro. Engine selection is separate from permission to use a Pro chart type.
| Item | Value |
|---|---|
| JavaScript property | engine |
| HTML attribute | engine |
| Type | SankeyEngineMode |
| Default | 'auto' |
| Allowed values | auto, standard, pro |
- SankeyEngineMode
Type definition
Events
rendered
Emits rendering results in detail when chart drawing completes.
Event name: rendered. Names are case-sensitive. Read the payload from detail on CustomEvent<SankeyRenderResult & { tier: SankeyEngineTier }>.
chart.addEventListener('rendered', event => {
console.log(event.detail); // SankeyRenderResult & { tier: SankeyEngineTier }
});- SankeyRenderResult
Type definition
- SankeyEngineTier
Type definition
nodeClick
CustomEvent.detail type: SankeyNodeEventDetail. Event names are case-sensitive.
Event name: nodeClick. Names are case-sensitive. Read the payload from detail on CustomEvent<SankeyNodeEventDetail>.
chart.addEventListener('nodeClick', event => {
console.log(event.detail); // SankeyNodeEventDetail
});- SankeyNodeEventDetail
Type definition
nodeHover
CustomEvent.detail type: SankeyNodeEventDetail | null. Event names are case-sensitive.
Event name: nodeHover. Names are case-sensitive. Read the payload from detail on CustomEvent<SankeyNodeEventDetail | null>.
chart.addEventListener('nodeHover', event => {
console.log(event.detail); // SankeyNodeEventDetail | null
});- SankeyNodeEventDetail
Type definition
linkClick
CustomEvent.detail type: SankeyLinkEventDetail. Event names are case-sensitive.
Event name: linkClick. Names are case-sensitive. Read the payload from detail on CustomEvent<SankeyLinkEventDetail>.
chart.addEventListener('linkClick', event => {
console.log(event.detail); // SankeyLinkEventDetail
});- SankeyLinkEventDetail
Type definition
linkHover
CustomEvent.detail type: SankeyLinkEventDetail | null. Event names are case-sensitive.
Event name: linkHover. Names are case-sensitive. Read the payload from detail on CustomEvent<SankeyLinkEventDetail | null>.
chart.addEventListener('linkHover', event => {
console.log(event.detail); // SankeyLinkEventDetail | null
});- SankeyLinkEventDetail
Type definition
selectionChanged
the selection (the pinned highlight) changed: a node or a link (never both) or nothing, and what changed it.
Event name: selectionChanged. Names are case-sensitive. Read the payload from detail on CustomEvent<SankeySelectionChangeEventDetail>.
chart.addEventListener('selectionChanged', event => {
console.log(event.detail); // SankeySelectionChangeEventDetail
});- SankeySelectionChangeEventDetail
Type definition
pointContextMenu
CustomEvent.detail type: ChartPointContextMenuEventDetail<SankeyHitDetail>. Event names are case-sensitive.
Event name: pointContextMenu. Names are case-sensitive. Read the payload from detail on CustomEvent<ChartPointContextMenuEventDetail<SankeyHitDetail>>.
chart.addEventListener('pointContextMenu', event => {
console.log(event.detail); // ChartPointContextMenuEventDetail<SankeyHitDetail>
});- ChartPointContextMenuEventDetail
Type definition
- SankeyHitDetail
Type definition
appended
CustomEvent.detail type: { count: number; replaced: number }. Event names are case-sensitive.
Event name: appended. Names are case-sensitive. Read the payload from detail on CustomEvent<{ count: number; replaced: number }>.
chart.addEventListener('appended', event => {
console.log(event.detail); // { count: number; replaced: number }
});windowSlid
CustomEvent.detail type: { dropped: number }. Event names are case-sensitive.
Event name: windowSlid. Names are case-sensitive. Read the payload from detail on CustomEvent<{ dropped: number }>.
chart.addEventListener('windowSlid', event => {
console.log(event.detail); // { dropped: number }
});tooltipShow
The shared tooltip events (the controller emits them).
Event name: tooltipShow. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianTooltipEventDetail>.
chart.addEventListener('tooltipShow', event => {
console.log(event.detail); // CartesianTooltipEventDetail
});- CartesianTooltipEventDetail
Type definition
tooltipHide
CustomEvent.detail type: void. Event names are case-sensitive.
Event name: tooltipHide. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.
chart.addEventListener('tooltipHide', event => {
console.log(event.detail); // void
});tooltipAction
CustomEvent.detail type: CartesianTooltipActionEventDetail. Event names are case-sensitive.
Event name: tooltipAction. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianTooltipActionEventDetail>.
chart.addEventListener('tooltipAction', event => {
console.log(event.detail); // CartesianTooltipActionEventDetail
});- CartesianTooltipActionEventDetail
Type definition
chartAnimationStart
CustomEvent.detail type: void. Event names are case-sensitive.
Event name: chartAnimationStart. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.
chart.addEventListener('chartAnimationStart', event => {
console.log(event.detail); // void
});chartAnimationEnd
CustomEvent.detail type: void. Event names are case-sensitive.
Event name: chartAnimationEnd. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.
chart.addEventListener('chartAnimationEnd', event => {
console.log(event.detail); // void
});chartAnimationInterrupted
CustomEvent.detail type: void. Event names are case-sensitive.
Event name: chartAnimationInterrupted. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.
chart.addEventListener('chartAnimationInterrupted', event => {
console.log(event.detail); // void
});zoomChange
Fired after every zoom change (drag / pan / wheel / pinch / keyboard / api / reset) with the new state.
Event name: zoomChange. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianZoomChangeEventDetail>.
chart.addEventListener('zoomChange', event => {
console.log(event.detail); // CartesianZoomChangeEventDetail
});- CartesianZoomChangeEventDetail
Type definition
Methods
redraw
Redraw the chart using its current data and options. Inspect the rendered result after the returned Promise resolves.
redraw(): Promise<SankeyRenderResult>Return type: Promise<SankeyRenderResult>. Call the method after element registration and await its Promise result.
- SankeyRenderResult
Type definition
getActiveTier
An asynchronous method. Check the argument and return types below.
getActiveTier(): Promise<SankeyEngineTier>Return type: Promise<SankeyEngineTier>. Call the method after element registration and await its Promise result.
- SankeyEngineTier
Type definition
setData
Replace the bar set.
setData(data: SankeyData): Promise<void>| Arguments | Type | Required |
|---|---|---|
data | SankeyData | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- SankeyData
Type definition
appendPoint
Append one value to the stream. Check the argument type and the licensing requirements for streaming.
appendPoint(link: SankeyLinkInput): Promise<void>| Arguments | Type | Required |
|---|---|---|
link | SankeyLinkInput | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- SankeyLinkInput
Type definition
appendBatch
Append multiple values to the stream. Check the argument type and the licensing requirements for streaming.
appendBatch(links: ReadonlyArray<SankeyLinkInput>): Promise<void>| Arguments | Type | Required |
|---|---|---|
links | ReadonlyArray<SankeyLinkInput> | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- SankeyLinkInput
Type definition
shift
Drop the oldest streamed links (the data links are not the stream).
shift(count: number): Promise<void>| Arguments | Type | Required |
|---|---|---|
count | number | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
replace
Swap the streamed set (replace([]) clears it); the base values never leave. Without chart.streaming the dies upsert into the base like a batch (quietly: no appended, no binChanged, as a ring replace).
replace(links: ReadonlyArray<SankeyLinkInput>): Promise<void>| Arguments | Type | Required |
|---|---|---|
links | ReadonlyArray<SankeyLinkInput> | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- SankeyLinkInput
Type definition
getStreamSource
The stream session's source (Chart Pro): like the stream methods it waits for a license still being confirmed.
getStreamSource(): Promise<SankeyStreamSource | undefined>Return type: Promise<SankeyStreamSource | undefined>. Call the method after element registration and await its Promise result.
- SankeyStreamSource
Type definition
getEngineStatus
Requested vs effective engine and why (CHART-ADD-08), with the chart.type.sankey license state.
getEngineStatus(): Promise<ChartEngineStatus>Return type: Promise<ChartEngineStatus>. Call the method after element registration and await its Promise result.
- ChartEngineStatus
Type definition
setAnimation
An asynchronous method. Check the argument and return types below.
setAnimation(options: { duration?: number; easing?: SankeyEasing; enabled?: boolean; type?: SankeyAnimationType }): Promise<void>| Arguments | Type | Required |
|---|---|---|
options | { duration?: number; easing?: SankeyEasing; enabled?: boolean; type?: SankeyAnimationType } | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- SankeyEasing
Type definition
- SankeyAnimationType
Type definition
pauseAnimation
Pause the current animation.
pauseAnimation(): Promise<void>Return type: Promise<void>. Call the method after element registration and await its Promise result.
resumeAnimation
Resume a paused animation.
resumeAnimation(): Promise<void>Return type: Promise<void>. Call the method after element registration and await its Promise result.
replayAnimation
Replay the initial sweep from min → value(s). No-op when animation is off / reduced.
replayAnimation(): Promise<void>Return type: Promise<void>. Call the method after element registration and await its Promise result.
hitTest
The node or link under a host-local CSS point (a node first, else the topmost ribbon), or null (always without a valid license).
hitTest(cssX: number, cssY: number): Promise<SankeyHitDetail | null>| Arguments | Type | Required |
|---|---|---|
cssX | number | Required |
cssY | number | Required |
Return type: Promise<SankeyHitDetail | null>. Call the method after element registration and await its Promise result.
- SankeyHitDetail
Type definition
getNode
An asynchronous method. Check the argument and return types below.
getNode(index: number): Promise<SankeyNode | null>| Arguments | Type | Required |
|---|---|---|
index | number | Required |
Return type: Promise<SankeyNode | null>. Call the method after element registration and await its Promise result.
- SankeyNode
Type definition
getNodeById
An asynchronous method. Check the argument and return types below.
getNodeById(id: string): Promise<SankeyNode | null>| Arguments | Type | Required |
|---|---|---|
id | string | Required |
Return type: Promise<SankeyNode | null>. Call the method after element registration and await its Promise result.
- SankeyNode
Type definition
getNodes
An asynchronous method. Check the argument and return types below.
getNodes(): Promise<SankeyNode[]>Return type: Promise<SankeyNode[]>. Call the method after element registration and await its Promise result.
- SankeyNode
Type definition
getLinks
An asynchronous method. Check the argument and return types below.
getLinks(): Promise<SankeyLink[]>Return type: Promise<SankeyLink[]>. Call the method after element registration and await its Promise result.
- SankeyLink
Type definition
getNodeCount
An asynchronous method. Check the argument and return types below.
getNodeCount(): Promise<number>Return type: Promise<number>. Call the method after element registration and await its Promise result.
getLinkCount
An asynchronous method. Check the argument and return types below.
getLinkCount(): Promise<number>Return type: Promise<number>. Call the method after element registration and await its Promise result.
getExtent
An asynchronous method. Check the argument and return types below.
getExtent(): Promise<SankeyExtent>Return type: Promise<SankeyExtent>. Call the method after element registration and await its Promise result.
- SankeyExtent
Type definition
getLayoutStats
the layout's statistics: the relaxation passes run, the proper crossings among the ribbons' centre lines (O(L²), on demand) and the energy Σ value × |y1 − y0| the relaxation minimises.
getLayoutStats(): Promise<{ iterations: number; crossings: number; energy: number; curvature: number; crossingsComputed: boolean }>Return type: Promise<{ iterations: number; crossings: number; energy: number; curvature: number; crossingsComputed: boolean }>. Call the method after element registration and await its Promise result.
getLabels
the placed node labels in HOST-local CSS px as shown (the plot offset added; under a zoom the labels of the nodes outside the window are left out), shown or hidden with the reason.
getLabels(): Promise<SankeyNodeLabel[]>Return type: Promise<SankeyNodeLabel[]>. Call the method after element registration and await its Promise result.
- SankeyNodeLabel
Type definition
getLayout
The layout in HOST-local CSS px as shown (the plot offset added; under a zoom, the viewport transform applied; while an update morph runs, its current frame): the node rects, the ribbons, the scale.
getLayout(): Promise<SankeyLayoutResult>Return type: Promise<SankeyLayoutResult>. Call the method after element registration and await its Promise result.
- SankeyLayoutResult
Type definition
showTooltipAtIndex
Open a tooltip by point index: nodes first, then directed links; null outside the graph or with the tooltip off.
showTooltipAtIndex(index: number): Promise<CartesianTooltipEventDetail | null>| Arguments | Type | Required |
|---|---|---|
index | number | Required |
Return type: Promise<CartesianTooltipEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianTooltipEventDetail
Type definition
hideTooltip
Close the currently visible tooltip.
hideTooltip(): Promise<void>Return type: Promise<void>. Call the method after element registration and await its Promise result.
focusNodeAt
Move the keyboard focus ring to a node (null off the nodes); emits nodeHover like the walk.
focusNodeAt(index: number): Promise<SankeyNodeEventDetail | null>| Arguments | Type | Required |
|---|---|---|
index | number | Required |
Return type: Promise<SankeyNodeEventDetail | null>. Call the method after element registration and await its Promise result.
- SankeyNodeEventDetail
Type definition
selectNodeAt
Select (pin) a node: its neighbourhood stays highlighted after the pointer leaves; a negative or unknown index releases the selection. Emits selectionChanged when it changes.
selectNodeAt(index: number): Promise<SankeyNodeEventDetail | null>| Arguments | Type | Required |
|---|---|---|
index | number | Required |
Return type: Promise<SankeyNodeEventDetail | null>. Call the method after element registration and await its Promise result.
- SankeyNodeEventDetail
Type definition
selectLinkAt
Select (pin) a link: its ribbon keeps the accent after the pointer leaves; a negative or unknown index releases the selection.
selectLinkAt(index: number): Promise<SankeyLinkEventDetail | null>| Arguments | Type | Required |
|---|---|---|
index | number | Required |
Return type: Promise<SankeyLinkEventDetail | null>. Call the method after element registration and await its Promise result.
- SankeyLinkEventDetail
Type definition
clearSelection
Release the selection (emits selectionChanged when there was one).
clearSelection(): Promise<void>Return type: Promise<void>. Call the method after element registration and await its Promise result.
getSelection
The selection: the selected node's / link's detail (null = none); its anchors are Pro-derived, refused without a valid license.
getSelection(): Promise<SankeySelection>Return type: Promise<SankeySelection>. Call the method after element registration and await its Promise result.
- SankeySelection
Type definition
zoomTo
Zoom to explicit windows over the unit extents: x / y as { min, max } or [min, max] (null clears that orientation).
zoomTo(request: CartesianZoomRequest): Promise<CartesianZoomChangeEventDetail | null>| Arguments | Type | Required |
|---|---|---|
request | CartesianZoomRequest | Required |
Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomChangeEventDetail
Type definition
- CartesianZoomRequest
Type definition
zoomBy
Scale the current windows by factor (< 1 zooms in) around anchorFraction (0..1, default centre).
zoomBy(factor: number, anchorFraction?: number): Promise<CartesianZoomChangeEventDetail | null>| Arguments | Type | Required |
|---|---|---|
factor | number | Required |
anchorFraction | number | Optional |
Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomChangeEventDetail
Type definition
panBy
Slide the zoomed windows by unit-extent units ({ x?, y? }); a no-op at the full extent.
panBy(delta: { x?: number; y?: number }): Promise<CartesianZoomChangeEventDetail | null>| Arguments | Type | Required |
|---|---|---|
delta | { x?: number; y?: number } | Required |
Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomChangeEventDetail
Type definition
resetZoom
Reset the zoomed or panned range to the original data range.
resetZoom(): Promise<CartesianZoomChangeEventDetail | null>Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomChangeEventDetail
Type definition
getZoom
Read the current zoom range. Check the return type's nullability and the range for each axis.
getZoom(): Promise<CartesianZoomState | null>Return type: Promise<CartesianZoomState | null>. Call the method after element registration and await its Promise result.
- CartesianZoomState
Type definition
getZoomExtent
The full extent (0 … 1) and key of the diagram's orientations (null before the first layout).
getZoomExtent(request?: CartesianZoomExtentRequest): Promise<CartesianZoomExtentDetail | null>| Arguments | Type | Required |
|---|---|---|
request | CartesianZoomExtentRequest | Optional |
Return type: Promise<CartesianZoomExtentDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomExtentDetail
Type definition
- CartesianZoomExtentRequest
Type definition