Skip to content

Area Chart

x-h-chart-area draws an area chart from a single reactive configuration object. Each series is a line with the space beneath it filled in, and multiple series are overlaid on a shared axis. Charts inherit the active theme colors and adapt to light and dark mode automatically.

Usage

Give the chart a container with an explicit height (charts fill their parent). Provide one or more series, each a list of numeric data points, and a matching labels array naming the points along the axis. Use an area chart to show a trend across an ordered sequence while emphasizing the magnitude beneath it. The value axis always includes zero so the filled region reads as the area under the curve. For the trend alone without the fill use a Line Chart, and to compare discrete categories use a Bar Chart.

API Reference

Component attribute(s)

x-h-chart-area

Attributes

AttributeTypeRequiredDescription
data-font-sizexs
sm
base
lg
falseChanges the size of all chart text, such as labels, axis ticks, and the legend. Defaults to xs.

Configuration

KeyTypeDefaultDescription
series{ name?, color?, data: number[] }[][]One entry per area. Multiple series are overlaid.
labelsstring[][]Label for each data index.
legendbooleantrueShow the color/label key.
axesbooleantrueShow the numeric axis ticks and labels.
gridlinesbooleantrueShow gridlines behind the areas.
tooltipbooleantrueShow a tooltip on hover and emit interaction events.
dataLabelsbooleanfalseDraw each point's value next to it.
tickCountnumber5Target number of numeric axis ticks.
valueFormat(value) => stringlocale numberFormats values in tooltips and numeric axis ticks.
palettestring[]theme tokensColor tokens cycled for series without an explicit color.
seriesLabelstringSeries {index}Template naming a series that has no name. {index} is substituted.
tableLabels{ category? }English defaultsColumn headers of the hidden data table read by screen readers.

A series color (and the palette entries) is one of the standard color names: red, orange, yellow, green, teal, blue, indigo, purple, pink, gray, white, or black.

Accessibility

The chart is exposed to assistive technologies as a figure with a visually-hidden data table of its values, so screen-reader users get the underlying numbers (the visual areas, axes, and legend are marked decorative). It defaults to the accessible name "Area chart". Set an aria-label attribute on the element to give it a more meaningful name.

Events

When tooltip is enabled, hovering and clicking points emit bubbling CustomEvents on the chart element - chart-hover, chart-leave, and chart-click. See the events reference for the shared detail shape.

Examples

Basic

html
<div style="height: 20rem" x-h-chart-area="{ labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'], series: [{ name: 'Visitors', data: [120, 200, 150, 280, 240] }] }"></div>

Multiple series

html
<div
  style="height: 20rem"
  x-h-chart-area="{
    labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
    series: [
      { name: 'Visitors', data: [120, 200, 150, 280, 240] },
      { name: 'Signups', data: [40, 60, 55, 90, 80] }
    ]
  }"
></div>