UNPKG

utils-echart

Version:

Echart component

118 lines (113 loc) 2.82 kB
import { val } from "../methods/methods"; /** 雷达图 */ export class Radar { /** * 获取雷达图数据 * @param name 名称 * @param indicatorName 指示器名称 * @param max 指示器最大值 * @param range 数据范围 * @returns obj */ static getRadarData(name: string[], indicatorName: string[], max: number[], range?: number[]) { const obj = { indicator: [] as any[], data: [] as any[], }; const r = range ? range : [10, 100]; let n: number[] = []; // series name.forEach((e) => { n = []; indicatorName.forEach(() => { n.push(Math.round(Math.random() * (r[1] - r[0]) + r[0])); }); obj.data.push({ value: n, name: e, }); }); // indicator indicatorName.forEach((e, index) => { obj.indicator.push({ name: e, max: max[index] ? max[index] : max[0], }); }); return obj; } /** * 雷达图0 * @param obj 数据 * @param colorArr 颜色组 * @param areaColor 区域颜色 * @returns option */ static radar0(obj: any, colorArr?: any, areaColor?: any) { const _colorArr = colorArr ? colorArr : val("colorData"); const _areaColor = areaColor ? areaColor : val("colorData")[0]; const option = { backgroundColor: val("backgroundColor"), color: _colorArr, grid: val("grid"), tooltip: { trigger: "axis", }, radar: { indicator: obj.indicator, }, series: [ { type: "radar", areaStyle: { color: _areaColor, }, data: obj.data, }, ], }; return option; } /** * 雷达图1 * @param obj 数据 * @param areaColor 区域颜色 * @param shadowColor 阴影颜色 * @returns option */ static radar1(obj: any, areaColor?: any, shadowColor?: any) { const _areaColor = areaColor ? areaColor : val("colorData")[0]; const shadow_color = shadowColor ? shadowColor : val("colorData")[1]; const option: any = { backgroundColor: val("backgroundColor"), grid: val("grid"), tooltip: { trigger: "axis", }, radar: { indicator: obj.indicator, }, series: [ { type: "radar", areaStyle: { shadowOffsetX: 10, color: _areaColor, shadowColor: shadow_color, }, lineStyle: { width: 0, }, itemStyle: { opacity: 0, }, tooltip: { trigger: "item", }, data: obj.data, }, ], }; return option; } }