Schema DataViz Library

A comprehensive collection of 35 interactive chart components built with Svelte and D3.js. Customizable themes, SVG export, and production-ready code.

35 Charts
7 Categories
10 Color Presets

Featured Charts

Bar Chart

Alpha Beta Gamma Delta Epsilon Zeta 020406080

Line Chart

Jan 24Apr 24Jul 24Oct 24020406080100120

Donut Chart

45.0%32.0%15.0%8.0%100Total

Browse by Category

Features

🎨

Customizable Themes

10 built-in color presets including Schema brand colors. Import/export custom palettes as JSON.

πŸ–±οΈ

Interactive

Hover tooltips, highlights, and smooth transitions on all chart types.

πŸ“€

SVG Export

One-click export to SVG or PNG. Copy to clipboard for design tools.

πŸ“±

Responsive

ViewBox-based SVG ensures charts scale beautifully at any size.

β™Ώ

Accessible

WCAG-compliant color checking and semantic markup.

⚑

Performant

Built with Svelte for minimal bundle size and optimal rendering.

Quick Start

Import a Chart

<script>
  import { BarChart } from '$lib/charts/bars';
  
  const data = [
    { label: 'A', value: 45 },
    { label: 'B', value: 72 },
    { label: 'C', value: 38 },
  ];
</script>

<BarChart {data} width={600} height={400} />

Customize Colors

<script>
  import { setPreset } from '$lib/stores/colorStore';
  
  // Use a built-in preset
  setPreset('d3-category10');
  
  // Or import custom JSON
  import { setPalette } from '$lib/stores/colorStore';
  setPalette(customPalette);
</script>

Export SVG

<script>
  import ChartWrapper from '$lib/components/ChartWrapper.svelte';
  import { LineChart } from '$lib/charts/lines';
</script>

<!-- Export button included automatically -->
<ChartWrapper title="My Chart" filename="export">
  <LineChart {data} width={600} height={400} />
</ChartWrapper>