High-performance timeseries charts for React, Vue, and Svelte. Canvas-rendered, tree-shakeable, zero runtime dependencies.
createTheme() for custom palettesnpm install @wick-charts/react # React
npm install @wick-charts/vue # Vue
npm install @wick-charts/svelte # Svelte
import {
ChartContainer, CandlestickSeries, Tooltip,
Crosshair, YAxis, TimeAxis
} from '@wick-charts/react';
function Chart({ data }) {
return (
<ChartContainer>
<CandlestickSeries data={data} />
<Tooltip />
<Crosshair />
<YAxis />
<TimeAxis />
</ChartContainer>
);
}
<script setup>
import {
ChartContainer, CandlestickSeries, Tooltip,
Crosshair, YAxis, TimeAxis
} from '@wick-charts/vue';
const props = defineProps(['data']);
</script>
<template>
<ChartContainer>
<CandlestickSeries :data="props.data" />
<Tooltip />
<Crosshair />
<YAxis />
<TimeAxis />
</ChartContainer>
</template>
<script>
import {
ChartContainer, CandlestickSeries, Tooltip,
Crosshair, YAxis, TimeAxis
} from '@wick-charts/svelte';
export let data = [];
</script>
<ChartContainer>
<CandlestickSeries {data} />
<Tooltip />
<Crosshair />
<YAxis />
<TimeAxis />
</ChartContainer>
Every component, prop, type, and slot context lives in the docs site:
mo4islona.github.io/wick-charts/#/api/chart-container
Start there for ChartContainer, then drill into the series (Candlestick, Line, Bar, Pie, Sparkline) and overlays (Tooltip, InfoBar, Crosshair, Legend, YAxis, XAxis, Navigator, …).
Tree-shaken React scenarios via pnpm size (esbuild, minified, browser target, React/ReactDOM external):
| Scenario | Raw | Gzip | Brotli |
|---|---|---|---|
| Candlestick only | 147 KB | 44 KB | 38 KB |
| Line only | 147 KB | 44 KB | 38 KB |
| Full React | 164 KB | 49 KB | 41 KB |
Upgrading across versions? See MIGRATION.md for per-version breaking-change notes and code snippets.
MIT