BoxPlot Chart
Show statistical distribution of data through quartiles. Displays the minimum, first quartile, median, third quartile, and maximum values.
Installation
dotnet add package Lumeo.Charts
One-time app setup (AddLumeo(), CSS & JS) is covered in the
installation guide.
Usage
@using Lumeo <BoxPlotChart />
| Category | Series 1 |
|---|---|
| Q1 2025 | 18200, 22400, 25800, 29100, 34600 |
| Q2 2025 | 24100, 28700, 32400, 36800, 42100 |
| Q3 2025 | 21500, 26300, 30100, 34200, 39700 |
| Q4 2025 | 27400, 33100, 38600, 43900, 51200 |
| Category | Series 1 |
|---|---|
| Q1 2025 | 18200, 22400, 25800, 29100, 34600 |
| Q2 2025 | 24100, 28700, 32400, 36800, 42100 |
| Q3 2025 | 21500, 26300, 30100, 34200, 39700 |
| Q4 2025 | 27400, 33100, 38600, 43900, 51200 |
The same distributions with a custom Colors palette and the ECharts Toolbox enabled — hover the chart for save-as-image and data-view controls.
| Category | Series 1 |
|---|---|
| Q1 2025 | 18200, 22400, 25800, 29100, 34600 |
| Q2 2025 | 24100, 28700, 32400, 36800, 42100 |
| Q3 2025 | 21500, 26300, 30100, 34200, 39700 |
| Q4 2025 | 27400, 33100, 38600, 43900, 51200 |
Shape-aware skeleton with reserved space for legend and axes — no layout shift when real data arrives.
API Reference
BoxPlotChart
| Property | Type | Default | Description |
|---|---|---|---|
| Categories | List<string> | [] | X-axis category labels. |
| Data | List<double[]> | [] | Distribution values as [min, q1, median, q3, max] arrays. |
| LabelStrategy | ChartLabelStrategy | Smart | How category-axis labels are rendered. Smart auto-rotates at higher densities; ShowAll forces all horizontal; Auto thins overlapping labels. |
| LabelRotate | int? | null | Manual rotation override in degrees on top of LabelStrategy. |
| 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 the legend when multiple categories are present. |
| ShowTooltip | bool | true | Enables the hover tooltip showing quartile values. |
| Colors | List<string>? | null | Custom color palette for the box plots. |
| Width | string | "100%" | CSS width of the chart container. |
| Height | string | "350px" | CSS height of the chart container. |
| Theme | string? | null | Optional ECharts theme name override. |
| PhantomCycleMs | int | 1400 | Phantom-mode refresh interval in milliseconds. Lower = faster data cycling while loading. |
| ShowDataLabels | bool | false | When true, displays value labels on the box plots. |
| LabelPosition | string | "top" | Position of data labels relative to the box plot. |
| LabelFormat | string? | null | Optional ECharts label formatter string for data labels. |
| DataZoom | bool | false | Enables the interactive data-zoom slider beneath the chart. |
| 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. |
| MarkLine | EChartMarkLine? | null | Optional mark lines overlaid on the chart (e.g. averages, thresholds). |
| MarkPoint | EChartMarkPoint? | null | Optional mark points highlighting min/max or custom values. |
| MarkArea | EChartMarkArea? | null | Optional shaded mark areas highlighting value bands. |