ASP.NET Core Sankey Diagram – Powerful and Interactive Visualization
- Analyze and present complex flow relationships using connected nodes and links.
- Engage with the Sankey Diagram through interactive elements such as tooltips, legends, and more.
- Deliver clear and consistent data visualization with support for both horizontal and vertical layouts.
Trusted by the world’s leading companies
Overview
The ASP.NET Core Sankey Diagram is a flow based visualization that proportionally represents the movement of values across different stages within a process. It is ideal for demonstrating complex workflows, energy distribution models, and any use case that involves directional data flow between stages.
Why choose the Syncfusion ASP.NET Core Sankey Diagram?
Interactive Sankey Diagram
Integrated tooltip interactions allow users to examine the Sankey Diagram and access in depth details about nodes and their connecting links.
Rich feature set
The ASP.NET Core Sankey Diagram offers support for legends, layout directions, labels, titles, themes, events, customizable nodes and links, as well as printing and export functionality.
Adapts to any resolution
The Sankey Diagram is built with a fully responsive layout that adjusts smoothly across desktops, touch enabled devices, and smartphones. It delivers consistent performance on iOS, Android, and Windows platforms.
Attractive, customizable themes
Provides professionally crafted themes such as Material 3, Fluent 2, Tailwind CSS, Bootstrap, Material, and Fabric to complement a wide range of application designs.
Elegant animation
The Sankey Diagram incorporates polished animations to present data changes with clear and fluid transitions.
ASP.NET Core Sankey Diagram code example
Begin working with the ASP.NET Core Sankey Diagram using just a few lines of CSHTML and C# code, as illustrated below. You can also explore our ASP.NET Core Sankey sample to gain deeper insight into component rendering and configuration.
<div class="control-section" align="center">
<ejs-sankey id="sankey-container" title="Device Usage">
<e-sankey-nodes>
@foreach (var node in Model.Nodes)
{
<e-sankey-node id="@node.Id" color="@node.Color"></e-sankey-node>
}
</e-sankey-nodes>
<e-sankey-links>
@foreach (var link in Model.Links)
{
<e-sankey-link sourceId="@link.SourceId" targetId="@link.TargetId" value="@link.Value"></e-sankey-link>
}
</e-sankey-links>
<e-sankey-nodesettings width="30" padding="10"></e-sankey-nodesettings>
<e-sankey-linksettings colorType="Source"></e-sankey-linksettings>
<e-sankey-legendsettings visible="true" position="Bottom"></e-sankey-legendsettings>
</ejs-sankey>
</div>public class HomeController : Controller
{
public ActionResult Index()
{
public class SankeyNode
{
public string Id { get; set; } = "";
public string? Color { get; set; }
}
public class SankeyLink
{
public string SourceId { get; set; } = "";
public string TargetId { get; set; } = "";
public double Value { get; set; }
}
public List<SankeyNode> Nodes { get; set; } = new();
public List<SankeyLink> Links { get; set; } = new();
public void OnGet()
{
Nodes = new()
{
new SankeyNode { id = "Female", label = new { text = "Female (58%)" } },
new SankeyNode { id = "Male", label = new { text = "Male (42%)" } },
new SankeyNode { id = "Tablet", label = new { text = "Tablet (12%)" } },
new SankeyNode { id = "Mobile", label = new { text = "Mobile (40%)" } },
new SankeyNode { id = "Desktop", label = new { text = "Desktop (48%)" } },
new SankeyNode { id = "< 18", label = new { text = "< 18 years (8%)" } },
new SankeyNode { id = "18-26", label = new { text = "18-26 years (35%)" } },
new SankeyNode { id = "27-40", label = new { text = "27-40 years (38%)" } },
new SankeyNode { id = "> 40", label = new { text = "> 40 years (19%)" } }
};
Links = new()
{
new SankeyLink { sourceId = "Female", targetId = "Tablet", value = 12 },
new SankeyLink { sourceId = "Female", targetId = "Mobile", value = 14 },
new SankeyLink { sourceId = "Female", targetId = "Desktop", value = 32 },
new SankeyLink { sourceId = "Male", targetId = "Mobile", value = 26 },
new SankeyLink { sourceId = "Male", targetId = "Desktop", value = 16 },
new SankeyLink { sourceId = "Tablet", targetId = "< 18", value = 4 },
new SankeyLink { sourceId = "Tablet", targetId = "> 40", value = 8 },
new SankeyLink { sourceId = "Mobile", targetId = "< 18", value = 4 },
new SankeyLink { sourceId = "Mobile", targetId = "18-26", value = 24 },
new SankeyLink { sourceId = "Mobile", targetId = "27-40", value = 10 },
new SankeyLink { sourceId = "Mobile", targetId = "> 40", value = 2 },
new SankeyLink { sourceId = "Desktop", targetId = "18-26", value = 11 },
new SankeyLink { sourceId = "Desktop", targetId = "27-40", value = 28 },
new SankeyLink { sourceId = "Desktop", targetId = "> 40", value = 9 }
};
}
}
}
Legend
The ASP.NET Core Sankey Diagram supports customizable legends that clarify node related information. When a legend item is hovered, its corresponding data flow paths are visually emphasized.
Tooltips
Tooltip support enables users to view accurate values and detailed information for nodes and links when hovering over them.


Print and export
Export the ASP.NET Core Sankey Diagram as a PDF file or image formats such as PNG and JPEG directly on the client side. The diagram can also be printed directly from the browser.
Orientation
The Sankey Diagram supports both horizontal and vertical orientations, allowing you to select the layout that best reflects your data flow.


Node labels
Node labels can be displayed to present descriptive details, improving readability and helping users easily understand each stage in the flow.
Customization
Flexible APIs allow you to adjust node widths and customize the colors of nodes, links, and labels to align with your application’s visual style.

Accessibility

Keyboard navigation
All elements of the Sankey Diagram are fully accessible via keyboard interaction. Essential actions, including legend highlighting, can be performed without using a mouse, ensuring inclusive usability.

Screen reader support
The Sankey Diagram is fully compliant with WAI ARIA standards and works seamlessly with screen readers. High contrast visuals support users with low vision, while accessible UI descriptions further enhance the overall experience.

Right to left (RTL) support
RTL rendering displays the Sankey Diagram’s layout and text from right to left, improving usability and accessibility for users working with right to left languages.
Not sure how to create your first ASP.NET Core Sankey Diagram component? Our documentation can help.
I’d love to read it now140+ ASP.NET CORE UI CONTROLS
Frequently Asked Questions
Why should you choose the Syncfusion® ASP.NET Core Sankey Diagram component?
With the Syncfusion ASP.NET Core Sankey Diagram component, you can:
- Visualize and analyze complex flow systems with nodes and links.
- Implement one of the best ASP.NET Core Sankey Diagram components on the market.
- Enjoy simple configuration and APIs.
- Deploy confidently to all modern browsers.
- Implement a touch-friendly and responsive component.
- Take advantage of expansive learning resources such as demos and documentation to get started quickly.
Where can I find the Syncfusion ASP.NET Core Sankey Diagram demo?
You can find our ASP.NET Core Sankey demo here, which demonstrates how to render and configure the Sankey Diagram.
Can I download and utilize the Syncfusion ASP.NET Core Sankey Diagram component for free?
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.
How do I get started with Syncfusion ASP.NET Core Sankey Diagram?
A good place to start would be our comprehensive getting started documentation.
Our Customers Love Us
Awards
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion® is proud to hold the following industry awards.