DDS/Components/LineChart

LineChart

Charts

An SVG line chart with multi-series support, area fill, hover tooltips, and a legend. Zero dependencies.

Props

PropTypeDefaultDescription
labels*string[]X-axis labels.
datasets*DsLineChartDataset[]Each dataset: { label, data, color? }.
showAreabooleanfalseFill the area below lines.
showDotsbooleantrueRender dots at data points.
showGridbooleantrueRender horizontal grid lines.
showLegendbooleantrueShow legend for multiple datasets.
heightnumber240Chart height in pixels.

Examples

Multi-series line chart
02,9335,8658,79811,730JanFebMarAprMayJunJulAug
Revenue
Expenses
vue
<DsLineChart
  :labels="['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']"
  :datasets="[
    { label: 'Revenue', data: [4200, 5800, 4900, 7200, 6800, 9100] },
    { label: 'Expenses', data: [3100, 3600, 4100, 3800, 4500, 5200] },
  ]"
  :show-area="true"
  :show-dots="true"
  :show-grid="true"
/>
Area chart
02,9335,8658,79811,730JanFebMarAprMayJunJulAug
Revenue
Expenses
vue
<DsLineChart
  :labels="['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']"
  :datasets="[
    { label: 'Revenue', data: [4200, 5800, 4900, 7200, 6800, 9100] },
    { label: 'Expenses', data: [3100, 3600, 4100, 3800, 4500, 5200] },
  ]"
  :show-area="true"
  :show-dots="true"
  :show-grid="true"
/>
Single series
02,9335,8658,79811,730JanFebMarAprMayJunJulAug
vue
<DsLineChart
  :labels="['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']"
  :datasets="[
    { label: 'Revenue', data: [4200, 5800, 4900, 7200, 6800, 9100] },
    { label: 'Expenses', data: [3100, 3600, 4100, 3800, 4500, 5200] },
  ]"
  :show-area="true"
  :show-dots="true"
  :show-grid="true"
/>

Skeleton

Use DsLineChartSkeleton as a loading placeholder while content is being fetched.

Default
vue
<DsLineChartSkeleton :height="240" />

Accessibility

  • Pure SVG — screen-reader friendly with descriptive tooltip text.