2026-06-12 01:45:25 +08:00
|
|
|
|
# @apigo.cc/chart API 手册
|
2026-05-29 22:59:00 +08:00
|
|
|
|
|
2026-06-12 01:45:25 +08:00
|
|
|
|
基于 Chart.js 4.x 的轻量级图表封装库。内置数据映射(Data Mapping)功能。
|
2026-05-29 22:59:00 +08:00
|
|
|
|
|
2026-06-12 01:45:25 +08:00
|
|
|
|
---
|
2026-05-29 22:59:00 +08:00
|
|
|
|
|
2026-06-12 01:45:25 +08:00
|
|
|
|
## 1. 引入方式 (UMD 优先)
|
2026-05-29 22:59:00 +08:00
|
|
|
|
|
2026-06-12 01:45:25 +08:00
|
|
|
|
在 HTML 中引入脚本即可,组件已内置 Chart.js,无需额外依赖。
|
2026-05-29 22:59:00 +08:00
|
|
|
|
|
|
|
|
|
|
```html
|
2026-06-12 01:45:25 +08:00
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/@apigo.cc/chart@1.0.1/dist/chart.min.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
// 直接使用全局 DataChart 类
|
|
|
|
|
|
const chart = new DataChart(myCanvas, config);
|
2026-05-29 22:59:00 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-06-12 01:45:25 +08:00
|
|
|
|
> **ESM 模式说明**:如需在模块化环境中使用,引入 `dist/chart.min.mjs`。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 2. 基本用法
|
|
|
|
|
|
|
|
|
|
|
|
### 组件化用法 (推荐)
|
|
|
|
|
|
直接在 HTML 中使用 `<DataChart>` 标签,通过 `state` 进行数据绑定。
|
|
|
|
|
|
|
|
|
|
|
|
```html
|
|
|
|
|
|
<div $data="{
|
|
|
|
|
|
myData: [{ month: 'Jan', sales: 120 }, { month: 'Feb', sales: 190 }],
|
|
|
|
|
|
myMap: { labels: 'month', values: 'sales', label: '月销量' }
|
|
|
|
|
|
}">
|
|
|
|
|
|
<DataChart type="bar" $.state.data="myData" $.state.map="myMap" style="height:300px"></DataChart>
|
|
|
|
|
|
</div>
|
2026-05-29 22:59:00 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-06-12 01:45:25 +08:00
|
|
|
|
### JS 调用方式 (兼容)
|
|
|
|
|
|
```html
|
|
|
|
|
|
<canvas id="myCanvas" width="400" height="200"></canvas>
|
|
|
|
|
|
...
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-29 22:59:00 +08:00
|
|
|
|
## 3. API 参考
|
|
|
|
|
|
|
2026-06-12 01:45:25 +08:00
|
|
|
|
### `new DataChart(canvas, config)`
|
|
|
|
|
|
- **`canvas`**: HTMLCanvasElement。
|
|
|
|
|
|
- **`config.type`**: `'line'`, `'bar'`, `'pie'`。
|
|
|
|
|
|
- **`config.data`**: 原始对象数组。
|
|
|
|
|
|
- **`config.map`**: 映射规则。
|
|
|
|
|
|
- **`config.options`**: 透传给底层 Chart.js 的原生配置。
|
|
|
|
|
|
|
|
|
|
|
|
### 实例方法
|
|
|
|
|
|
- **`update(newData)`**: 传入新数组重绘图表。
|
|
|
|
|
|
- **`destroy()`**: 销毁实例。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 开发者提示 (AI 必读)
|
|
|
|
|
|
1. **尺寸控制**: Canvas 必须具有明确的高度和宽度。
|
|
|
|
|
|
2. **全局变量**: UMD 模式下,`DataChart` 类自动挂载到 `window`。
|