快速开始
TanStack Charts 使用「声明式语法」:用 defineChart 描述图元(marks)、比例尺(scales)、颜色与 tooltip,再交给 Vue 的 <Chart> 组件渲染。
1. 定义系列配置
const chartConfig = {
desktop: { label: 'Desktop', color: 'hsl(var(--chart-1))' }
} satisfies ChartConfig;2. 描述图表
import { barY, defineChart } from '@tanstack/charts';
import { scaleBand } from '@tanstack/charts/scales/band';
import { scaleLinear } from '@tanstack/charts/scales/linear';
import { tooltip } from '@tanstack/charts/tooltip';
const chart = defineChart({
marks: [
barY(chartData, {
x: 'month',
y: 'desktop',
fill: 'var(--color-desktop)'
})
],
scales: {
x: { scale: () => scaleBand<string>().padding(0.16) },
y: { scale: scaleLinear, nice: true, grid: true }
},
tooltip
});3. 渲染
<ChartContainer :config="chartConfig" class="h-[250px]">
<Chart :definition="chart" :height="250" aria-label="Desktop signups by month" />
</ChartContainer>ChartContainer 把 chartConfig.desktop.color 注入为 --color-desktop,图元里的 var(--color-desktop) 因此生效,并随主题切换。多系列时把颜色域交给 color.range(见「柱状图 - 分组」示例)。