Charts
Beautiful charts built on Apache ECharts. Lumeo includes 30 chart components for every visualization need, from basic bar charts to advanced geographic maps and word clouds.
Installation
dotnet add package Lumeo.Charts
One-time app setup (AddLumeo(), CSS & JS) is covered in the
installation guide.
Usage
@using Lumeo <Chart />
cdn.jsdelivr.net — a third-party request that
discloses the visitor's IP to the CDN, independent of any cookie consent. Under GDPR that is a data
transfer you should disclose or avoid. To keep charts on your own origin, self-host ECharts and point the
library's documented overrides at it. The global window.lumeoCdn
map (options 1–2) is the complete fix — it redirects core ECharts and both plugin
extensions; a per-chart EChartsSource (option 3)
redirects only that chart's core ECharts:
- Run
lumeo deps installto vendor every CDN dependency intowwwroot/lib/lumeo-vendor/and emit awindow.lumeoCdnmap pointing at them. - Set it yourself before Blazor boots:
window.lumeoCdn = { echarts: '/lib/echarts.min.js', echartsLiquidfill: '/lib/echarts-liquidfill.min.js', echartsWordcloud: '/lib/echarts-wordcloud.min.js' }. The plugin charts (liquid fill, word cloud) pull their own scripts, so include theechartsLiquidfillandechartsWordcloudkeys too, or those charts silently fall back to jsDelivr. - Per chart, redirect the core ECharts source:
<Chart EChartsSource="/lib/echarts.min.js" … />. This covers core ECharts for that chart only — the plugin charts (liquid fill, word cloud) load their extension scripts solely through the globalechartsLiquidfill/echartsWordcloudkeys above (or thelumeo deps installbootstrap), soEChartsSourcealone leaves those extensions on jsDelivr.
Cartesian Charts
Standard X/Y axis charts for comparing categories, tracking trends, and analyzing distributions.
Bar Chart
Compare discrete categories side-by-side.
Line Chart
Show trends over time with continuous lines.
Area Chart
Emphasize volume and magnitude of change.
Scatter Chart
Reveal correlations between two variables.
Effect Scatter
Animated scatter with ripple effects.
Candlestick Chart
Financial OHLC data visualization.
BoxPlot Chart
Statistical distribution through quartiles.
Waterfall Chart
Sequential positive and negative changes.
Pictorial Bar
Bar chart with custom symbol shapes.
Mixed Chart
Combine bar and line in one view.
Proportional & Distribution
Charts for showing parts of a whole, proportions, and data distributions.
Radial & Polar
Charts using polar coordinate systems and circular layouts.
Hierarchical
Visualize nested and tree-structured data.
Relationship & Flow
Visualize connections, networks, and flow between entities.
Specialized
Purpose-built charts for specific use cases.
Accessibility
ECharts paints to a <canvas>, which is
invisible to screen readers. Every Lumeo chart therefore ships an accessibility layer
(on by default, shadcn accessibilityLayer parity):
the canvas host becomes keyboard-focusable with an aria-label
summarising the data, and a visually-hidden but screen-reader-navigable
<table> is generated from the series.
Tab to the chart below, or inspect the DOM to see the hidden table. Set
AccessibilityLayer="false" to opt out.
| Category | Revenue |
|---|---|
| Jan | 42 |
| Feb | 58 |
| Mar | 51 |
| Apr | 67 |
Toggle it off and inspect the DOM: the generated screen-reader table plus the host's
tabindex and
aria-label are removed.
API Reference
Every typed chart (BarChart,
LineChart, …) wraps the underlying
Chart primitive documented below and forwards
its loading/theming/event parameters through. See each chart type's own page (under
/components/charts/*) for its data-shaping
parameters (Categories,
Series, etc.).
Chart
ChartThreshold
Declarative threshold line — a horizontal (default) or vertical marker at a given value. Place inside any
typed chart's ChildContent; it renders nothing
visible itself and instead registers a markLine
entry on the underlying option.
ChartReferenceZone
Declarative reference band — a shaded rectangle between two values on one axis, spanning the full extent of
the other. Wraps ECharts' native markArea.
ChartTooltip
Declarative tooltip body for any chart wrapper. The child fragment is given a
ChartTooltipContext on every hover and is rendered
into a hidden DOM portal that ECharts' tooltip formatter pulls its innerHTML
from — use this when you need real Razor markup (themed cards, formatted numbers, child components) instead
of ECharts' raw formatter string.
ChartSkeleton
The legacy SVG overlay skeleton used by SkeletonStyle="ChartSkeletonStyle.Silhouette".
Can also be rendered standalone as a static loading placeholder.
Typed chart wrapper common props
Every typed chart (BarChart,
LineChart, and the rest of the 30 chart types)
exposes this parameter alongside its own data-shaping props:
| Prop | Type | Default | Description |
|---|---|---|---|
| OptionOverride | Dictionary<string, object>? | null | Escape hatch: entries are merged into the generated EChartOption's extension data, letting you set any raw ECharts option key the typed wrapper doesn't expose a dedicated parameter for. |