# Graph Chart

Source: https://lumeo.nativ.sh/components/charts/graph

# Graph Chart

Visualize networks and relationships between entities. Nodes represent entities and links show connections. Supports force-directed and circular layouts.

## Installation

.NET CLI PackageReference Lumeo CLI

dotnet add package Lumeo.Charts

One-time app setup (`AddLumeo()`, CSS & JS) is covered in the [installation guide](docs/introduction).

## Usage

@using Lumeo

<GraphChart />

Preview Code

Service Architecture Graph

Preview Code

Loading state

Simulate loading

Hold skeleton open

Duration: 2s 

Cycle: 1400 ms 

Shape-aware skeleton with reserved space for legend and axes — no layout shift when real data arrives.

## API Reference

### GraphChart

Property

Type

Default

Description

Nodes

List<GraphNode>

\[\]

Nodes with Name, Category, and optional SymbolSize.

Links

List<GraphLink>

\[\]

Connections with Source and Target.

Categories

List<GraphCategory>

\[\]

Category groups for coloring nodes.

Layout

string

"force"

Layout algorithm: "force", "circular", or "none".

Roam

bool

true

Enables pan and zoom.

IsLoading

bool

false

When true, renders a shape-matched loading skeleton in place of the chart. Bind to your async fetch state.

ShowLoadingSkeleton

bool

true

Set to false to opt out of the skeleton (chart area stays empty while IsLoading is true).

SkeletonKind

ChartSkeletonKind

(chart default)

Override the skeleton silhouette (Bars, Line, Area, Pie, Scatter, Grid, Generic).

SkeletonStyle

ChartSkeletonStyle

Phantom

Phantom renders the real chart with placeholder data and morphs to real data via ECharts animation. Silhouette falls back to the legacy SVG skeleton overlay.

ShowLoadingLabel

bool

true

Shows a small "Loading…" pill in the top-right corner whenever `IsLoading` is true. Layered on top of any `SkeletonStyle`. Set to false for bare visuals. **(rc.18)**

LoadingText

string?

"Loading…"

Label rendered next to the spinner inside the loading pill. Set to empty to show the spinner alone. **(rc.18)**

ShowLegend

bool

true

Shows or hides the chart legend.

ShowTooltip

bool

true

Enables the hover tooltip showing node and link details.

Colors

List<string>?

null

Custom color palette for graph node categories.

Width

string

"100%"

Chart container width as a CSS length.

Height

string

"350px"

Chart container height as a CSS length.

Theme

string?

null

ECharts theme name applied to this chart instance.

PhantomCycleMs

int

1400

Phantom-mode refresh interval in milliseconds. Lower = faster data cycling while loading.

ShowDataLabels

bool

false

When true, displays text labels on graph nodes.

LabelPosition

string

"right"

Position of node labels relative to each node.

LabelFormat

string?

null

Optional ECharts label formatter string for node labels.

DataZoom

bool

false

Enables zoom slider controls for dense graphs.

Toolbox

bool

false

Shows the ECharts toolbox with export and zoom controls.

ColorPalette

List<string>?

null

Alternate full color palette applied to the chart.

AnimationDuration

int?

null

Animation duration in milliseconds when data changes.

AnimationEasing

string?

null

ECharts easing function name for animation curves.
