图表
OneRadarChart
基础用法
雷达图把每个指标映射到等角度的辐条上,系列数值映射为半径,适合做多维能力对比。
Tooltip
雷达图为每个系列与指标的交点渲染热区,悬停显示指标名、系列名与数值,tooltip 默认开启,可传 tooltip: false 关闭或传入 { formatter } 自定义内容。
查看代码
import { OneRadarChart } from '@geektech/one-chart';
const chart = new OneRadarChart({
title: '能力对比',
indicators: ['速度', '力量', '技巧', '耐力', '智力'],
series: [
{ name: '战士', data: [80, 60, 90, 70, 85] },
{ name: '法师', data: [50, 80, 60, 95, 60] },
],
showPoints: true,
});
chart.mount(document.querySelector('#app')!);属性
| 名称 | 签名 | 说明 |
|---|---|---|
indicators | string[] | 指标(坐标轴)名称 |
series | { name: string; data: number[] }[] | 系列数据,每个系列长度须与指标一致 |
levels | number | 网格环层数,默认 5 |
max | number | 数值域上限,默认按数据自动取整;超过上限的数值会被夹取 |
showPoints | boolean | 在每个数据点绘制圆点,默认 false |
fill | boolean | 是否填充多边形,默认 true |
几何与布局
网格环为同心正多边形,辐条从圆心指向各指标;数据点通过线性比例尺从 [0, max] 到半径。指标标签按所在辐条的角度自动选择锚点,避免越界。
查看代码
import { OneRadarChart } from '@geektech/one-chart';
const chart = new OneRadarChart({
title: '能力对比',
indicators: ['速度', '力量', '技巧', '耐力', '智力'],
series: [
{ name: '战士', data: [80, 60, 90, 70, 85] },
{ name: '法师', data: [50, 80, 60, 95, 60] },
],
showPoints: true,
});
chart.mount(document.querySelector('#app')!);