图表
OneBarChart
基础用法
传入分类与系列数据即可渲染分组柱状图,支持多系列并排对比;下方 demo 可切换分组、堆叠与横向三种模式。
数据支持负数:数值域自动扩展到整齐边界并覆盖最小/最大值(0 为基线),负值柱在基线另一侧渲染且不会超出绘图区。
Tooltip
鼠标悬停到柱子上显示该柱的系列名与数值(分组、堆叠、横向模式均支持),tooltip 默认开启,可传 tooltip: false 关闭或传入 { formatter } 自定义内容。
查看代码
import { OneBarChart } from '@geektech/one-chart';
// 分组柱状图
const chart = new OneBarChart({
title: '季度销量',
categories: ['Q1', 'Q2', 'Q3', 'Q4'],
series: [
{ name: '华东', data: [120, 200, 150, 280] },
{ name: '华南', data: [80, 110, 130, 160] },
],
showValues: true,
});
chart.mount(document.querySelector('#app')!);
// 横向模式:分类放到 Y 轴,适合分类名较长的场景
const horizontal = new OneBarChart({
title: '季度销量(横向)',
categories: ['Q1', 'Q2', 'Q3', 'Q4'],
series: [
{ name: '华东', data: [120, 200, 150, 280] },
{ name: '华南', data: [80, 110, 130, 160] },
],
horizontal: true,
});
horizontal.mount(document.querySelector('#app2')!);属性
| 名称 | 签名 | 说明 |
|---|---|---|
categories | string[] | 分类名,决定 X 轴刻度数量 |
series | { name: string; data: number[] }[] | 系列数据,每个系列长度须与分类一致 |
horizontal | boolean | 横向布局,默认 false |
stacked | boolean | 堆叠模式,默认 false;不支持负值 |
showValues | boolean | 在柱顶显示数值标签,默认 false |
grid | boolean | 是否显示网格线,默认 true |
valueFormat | (value: number) => string | 数值刻度与标签格式化 |
堆叠与横向
- 堆叠模式下数值域自动覆盖各分类的累计总和,避免柱子溢出绘图区。
- 横向模式将分类放到 Y 轴,适合分类名较长的场景。