Skip to main content

Arc diagram

info

Charts are available with Avalonia Pro.

Arc diagrams are network visualizations where nodes are placed linearly along an axis. Connections are drawn as curved arcs, with the thickness or color representing link strength.

Arc diagram with nodes arranged on a horizontal axis connected by curved arcs representing relationships between items.

When to use

  • Sequence analysis: Showing relationships between items in a fixed order (e.g., chapters in a book).
  • Dependency mapping: Visualizing call stacks or structural relationships on a single line.
  • Categorical proximity: Highlighting clusters of interactions within a linear dataset.

Code example

XAML

<charts:ArcDiagramChart Name="ArcDiagramSample" Title="Connections" Height="300"
Nodes="{Binding ArcNodes}"
Links="{Binding ArcLinks}"
NodeIdPath="Id"
NodeLabelPath="Label"
SourcePath="Source"
TargetPath="Target"
LinkValuePath="Value" />

Data model (C#)

public record ArcNode(string Id, string Label);
public record ArcLink(string Source, string Target, double Value);

public ObservableCollection<ArcNode> ArcNodes { get; } = new()
{
new("1", "Chapter 1"),
new("2", "Chapter 2"),
new("3", "Chapter 3"),
new("4", "Chapter 4"),
new("5", "Chapter 5")
};

public ObservableCollection<ArcLink> ArcLinks { get; } = new()
{
new("1", "2", 1),
new("1", "3", 3),
new("2", "4", 2),
new("3", "5", 4),
new("2", "5", 1)
};

Common properties

PropertyDescriptionDefault
NodesThe collection of items on the axis.null
LinksThe relationships between nodes.null
NodeIdPathPath to the unique identifier for each node.null
NodeLabelPathPath to the text for each node.null
SourcePathPath to the source node identifier for each link.null
TargetPathPath to the target node identifier for each link.null
LinkValuePathPath determining the arc thickness/size.null
NodeSizeSize of the node markers.16.0
ArcThicknessBase thickness of the connection arcs.2.0
ArcOpacityOpacity of the connection arcs.0.5