Preview Updated 2026-05-10

Radar chart

Multi-dimensional comparison polygon chart with multi-series support.

Basic usage

Data is passed via props and rendered as pure SVG, with no third-party charting dependency. Colors are drawn from the --viz-1..8 tokens and are colorblind-friendly.

背景
src/App.vue
<script setup lang="ts">
import { CfRadarChart } from '@chufix-design/vue';
const axes = ['速度', '稳定性', '兼容', '生态', '文档', '社区'];
const series = [
  { name: 'A 方案', values: [85, 70, 92, 78, 65, 80] },
  { name: 'B 方案', values: [70, 88, 75, 90, 82, 75] },
];
</script>
<template>
  <CfRadarChart :axes="axes" :series="series" />
</template>
<script setup>
import { CfRadarChart } from '@chufix-design/vue';
const axes = ['速度', '稳定性', '兼容', '生态', '文档', '社区'];
const series = [
  { name: 'A 方案', values: [85, 70, 92, 78, 65, 80] },
  { name: 'B 方案', values: [70, 88, 75, 90, 82, 75] },
];
</script>
<template>
  <CfRadarChart :axes="axes" :series="series" />
</template>
import { CfRadarChart } from '@chufix-design/react';

export default function Demo() {
  const axes = ['速度', '稳定性', '兼容', '生态', '文档', '社区'];
  const series = [
    { name: 'A 方案', values: [85, 70, 92, 78, 65, 80] },
    { name: 'B 方案', values: [70, 88, 75, 90, 82, 75] },
  ];
  return (
    <>
      <CfRadarChart axes={axes} series={series} />
    </>
  );
}
import { CfRadarChart } from '@chufix-design/react';

export default function Demo() {
  const axes = ['速度', '稳定性', '兼容', '生态', '文档', '社区'];
  const series = [
    { name: 'A 方案', values: [85, 70, 92, 78, 65, 80] },
    { name: 'B 方案', values: [70, 88, 75, 90, 82, 75] },
  ];
  return (
    <>
      <CfRadarChart axes={axes} series={series} />
    </>
  );
}

Multi-series comparison

Compare three options across six dimensions, cycling through --viz-*.

背景
src/App.vue
<script setup lang="ts">
import { CfRadarChart } from '@chufix-design/vue';
const axes = ['性能', '安全', '可维护', '可扩展', '兼容性', '生态'];
const series = [
  { name: '当前架构', values: [70, 80, 65, 75, 60, 55], colorIndex: 0 },
  { name: '提议方案', values: [88, 78, 90, 92, 70, 80], colorIndex: 2 },
  { name: '保守方案', values: [60, 90, 75, 50, 95, 85], colorIndex: 1 },
];
</script>
<template>
  <CfRadarChart :axes="axes" :series="series" :size="280" />
</template>
<script setup>
import { CfRadarChart } from '@chufix-design/vue';
const axes = ['性能', '安全', '可维护', '可扩展', '兼容性', '生态'];
const series = [
  { name: '当前架构', values: [70, 80, 65, 75, 60, 55], colorIndex: 0 },
  { name: '提议方案', values: [88, 78, 90, 92, 70, 80], colorIndex: 2 },
  { name: '保守方案', values: [60, 90, 75, 50, 95, 85], colorIndex: 1 },
];
</script>
<template>
  <CfRadarChart :axes="axes" :series="series" :size="280" />
</template>
import { CfRadarChart } from '@chufix-design/react';

export default function Demo() {
  const axes = ['性能', '安全', '可维护', '可扩展', '兼容性', '生态'];
  const series = [
    { name: '当前架构', values: [70, 80, 65, 75, 60, 55], colorIndex: 0 },
    { name: '提议方案', values: [88, 78, 90, 92, 70, 80], colorIndex: 2 },
    { name: '保守方案', values: [60, 90, 75, 50, 95, 85], colorIndex: 1 },
  ];
  return (
    <>
      <CfRadarChart axes={axes} series={threeSeries} />
    </>
  );
}
import { CfRadarChart } from '@chufix-design/react';

export default function Demo() {
  const axes = ['性能', '安全', '可维护', '可扩展', '兼容性', '生态'];
  const series = [
    { name: '当前架构', values: [70, 80, 65, 75, 60, 55], colorIndex: 0 },
    { name: '提议方案', values: [88, 78, 90, 92, 70, 80], colorIndex: 2 },
    { name: '保守方案', values: [60, 90, 75, 50, 95, 85], colorIndex: 1 },
  ];
  return (
    <>
      <CfRadarChart axes={axes} series={threeSeries} />
    </>
  );
}

API

PropTypeDefaultDescription
axesstring[]Axis names
seriesRadarSeries[]{ name, values: number[], colorIndex? }[]
sizenumber240
maxnumberdata maxNormalization baseline

反馈与讨论

Radar chart · Discussion

0
0 / 600
一键发送
正在加载评论...