Skip to main content
Tw Twintrinsic
  • Getting Started
  • Components
  • Theming
  • Completion
Examples
Data Dashboard Game Map
Core
App
Layout
Accordion AccordionItem Card Container Panel Separator Sidebar Splitter
Navigation
AppHeader BottomBar Breadcrumb BreadcrumbItem Menu MenuItem Tabs Tab TabList TabPanel TreeMenu
Data Display
Avatar AvatarGroup Badge Carousel CarouselItem Chip ChipGroup CodeBlock CodeBlockSpeed CodeEditor DataTable Map Progress Skeleton Table TableBody TableCell TableHead TableHeader TableRow Tag TagGroup Timeline TimelineItem Tooltip Tree TreeNode
Metrics
DonutChart PieChart LineChart BarChart HorizontalBarChart AreaChart StatsCard MetricGrid KPICard GaugeChart ProgressMetric MetricTrend
Form
AutoComplete Button ButtonGroup Calendar Checkbox ColorPicker Combobox Dropdown FileUpload FloatLabel Form FormField Input InputSwitch InvalidState Knob ListInput Listbox NumberInput Radio RadioGroup Rating Select SelectGroup Slider Switch TextInput Textarea
Feedback
Modal Stepper StepperStep Toast
Utility
Icon Lazy LazyPanel Masonry ThemeToggle

AreaChart

An area chart for displaying trends over time with filled areas. Supports single and multiple data series with optional stacking.

Features

  • Single and multiple data series support
  • Stacked or overlapping areas
  • Smooth curve rendering
  • Grid lines for reference
  • Axis labels and title
  • Legend display
  • Interactive points with click events
  • Responsive sizing

Examples

Single Series AreaChart

Website Traffic

06131925MonTueWedThuFriSatSun
Website Traffic
<AreaChart
  series={[{
    label: 'Website Traffic',
    data: [10, 15, 12, 18, 22, 20, 25],
    color: '#3b82f6'
  }]}
  labels={['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']}
  title="Website Traffic"
  width={600}
  height={300}
/>

Stacked AreaChart

Traffic by Device (Stacked)

011233445MonTueWedThuFriSatSunVisits
Desktop
Mobile
<AreaChart
  series={[
    { label: 'Desktop', data: [10, 15, 12, 18, 22, 20, 25], color: '#3b82f6' },
    { label: 'Mobile', data: [8, 12, 14, 16, 18, 22, 20], color: '#ef4444' }
  ]}
  labels={['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']}
  title="Traffic by Device (Stacked)"
  yAxisLabel="Visits"
  stacked={true}
  showGrid={true}
  showLegend={true}
  width={600}
  height={300}
/>

Props

PropTypeDefaultDescription
seriesSeries[]RequiredArray of data series
onpointclick{ seriesIndex: number; pointIndex: number; value: number }Fired when a data point is clicked
labelsstring[]RequiredArray of x-axis labels
titlestringundefinedChart title
yAxisLabelstringundefinedY-axis label
stackedbooleanfalseStack areas on top of each other
showGridbooleantrueShow grid lines
showLegendbooleantrueShow legend
widthnumber500Chart width in pixels
heightnumber300Chart height in pixels

Best Practices

  • Use for showing trends over time
  • Use stacking for cumulative data
  • Limit to 3-4 series for clarity
  • Include axis labels for context