散点气泡
散点/气泡图(renderScatter):坐标域自动 nice 取整 + 边界刻度;points 的 size 为第三维时映射气泡半径 3–10。数据点带交互标记(hover/单击/双击/右键走 renderChart 通用层)。
构建时长 × 包体积(气泡 = 测试数)
<div class="chart-grid"> <div style="grid-column:1/-1"> <p class="chart-cap">构建时长 × 包体积(气泡 = 测试数)</p> <div class="chart" id="scatter-demo"></div> </div></div> 安装
bun add @icen.ai/ui pnpm add @icen.ai/ui npm install @icen.ai/ui yarn add @icen.ai/ui 一行引入该组件(CSS 与 behavior 自动带上,无需关心内部 CSS 文件名):
import '@icen.ai/ui/kit/chart-scatter'; 也可以用脚手架直接打印引入行:
bunx --bun @icen.ai/ui add chart-scatter
Astro 项目注意:kit 入口里的 CSS import 在页面 <script> 里会被 Astro 的 client bundle 摇掉——请改在布局 frontmatter 里引 CSS(import '@icen.ai/ui/components/chart-scatter.css';),JS 行为仍可走 kit。Vite SPA / webpack 项目无此问题。
用法
import { renderScatter } from '@icen.ai/ui/kit/chart-scatter'; renderScatter(el, { points: [ { x: 3.2, y: 48, size: 12, label: 'web' }, { x: 5.1, y: 72, size: 30, label: 'cli' }, ], tone: 'accent',});// 交互:配 renderChart 走通用层(tooltip + icen:chart-* 事件族)import { renderChart } from '@icen.ai/ui/behaviors/charts';renderChart(el, { type: 'scatter', points: [/* 同上 */] }).on('click', (d) => { /* d.label / d.value */ });