开发预览 更新于 2026-05-10

BoxPlot 箱线图

统计分布的 5 数概要 + outliers。

基础用法

数据通过 props 传入,纯 SVG 渲染,无第三方图表库依赖。 配色取自 --viz-1..8 token,色盲友好。

背景
p50p75p95p99
<script setup lang="ts">
import { CfBoxPlot } from '@chufix-design/vue';
const data = [
  { label: 'p50', min: 80, q1: 95, median: 110, q3: 125, max: 145, outliers: [220] },
  { label: 'p75', min: 120, q1: 140, median: 165, q3: 195, max: 230, outliers: [340] },
  { label: 'p95', min: 200, q1: 235, median: 280, q3: 320, max: 380 },
  { label: 'p99', min: 320, q1: 380, median: 440, q3: 510, max: 620, outliers: [820, 950] },
];
</script>

<template>
  <CfBoxPlot :data="data" />
</template>
<CfBoxPlot ... />

API 延迟分布

4 个 API 的 p25/median/p75 + outliers,竖线显示完整 min-max 范围。

背景
/login/orders/checkout/payment
<script setup lang="ts">
import { CfBoxPlot } from '@chufix-design/vue';
const apis = [
  { label: '/login', min: 50, q1: 65, median: 80, q3: 110, max: 145, outliers: [220, 280] },
  { label: '/orders', min: 30, q1: 50, median: 75, q3: 110, max: 160, outliers: [320, 510] },
  { label: '/checkout', min: 80, q1: 110, median: 145, q3: 200, max: 280, outliers: [580] },
  { label: '/payment', min: 200, q1: 240, median: 290, q3: 360, max: 440, outliers: [820, 950, 1100] },
];
</script>

<template>
  <CfBoxPlot :data="apis" :height="240" />
</template>
<CfBoxPlot data={apis} />

API

属性类型默认值说明
dataBoxStat[]{ label, min, q1, median, q3, max, outliers? }[]

反馈与讨论

BoxPlot 箱线图 的讨论

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