@ cracker/ 图表
您的终端图 。 15个图表类型,零分解,TypeScript.
cpu ▄▅▆▇███▇▆▅▃▂▁▂▃▄
mem ▁▃▅▇█████▇▅▃▁
err ▁ ▁ ▃█▂▁
│ ⢀⠔⠊⠉⠉⠑⢄
80┤ ⢀⠎ ⠱⡀
│ ⡰⠁ ⠘⢄
60┤ ⡰⠁ ⢣
│ ⠱⡀
40┤ ⠘⢄
│ ⠑⠢⢄⣀⣀⠔⠉
安装
bun add @crafter/charts
快速启动
import { plot, sparkline, chart, renderToAnsi } from "@crafter/charts";
// One-liner
console.log(plot([1, 5, 3, 7, 2, 8]));
// Sparkline
console.log(sparkline([10, 15, 12, 18, 14, 20], { color: "green" }));
// Full chart
const c = chart({ width: 60, height: 14 })
.data(rows, { xKey: "x" })
.yAxis({ format: (v) => "$" + v.toFixed(0) })
.line({ key: "price", color: "green", label: "Price" });
console.log(renderToAnsi(c));
图表类型
| 类型 | 函数 | 内线? |
|---|---|---|
| 线条( Braille) | chart().line() | 没有 |
| 线条( 框) | chart({ charset: "box" }).line() | 没有 |
| 栏 | chart().bar() | 没有 |
| 散点 | chart().scatter() | 没有 |
| 烛台 | chart().candlestick() | 没有 |
| 绘图 | plot(data) | 没有 |
| 闪光线 | sparkline() | 对 |
| 栏 | sparkColumn() | 对 |
| 栏 | sparkBar() | 对 |
| 赢/ 输 | sparkWinLoss() | 对 |
| 区域 | sparkArea() | 多线 |
| 热图 | sparkHeatmap() | 多线 |
| 直方图 | sparkHistogram() | 多线 |
| 高盖 | sparkGauge() | 对 |
| 甜甜圈 | sparkDonut() | 对 |
特征
- 零依赖关系
- 类型脚本严格 有导出类型
- 盲文渲染 (每个字符有4x2分像素)
- 4个字符集: 盲文,框 (╭╮╰╯─│),块 (c), ascii
- 3个指标数字 :
renderToAnsi(), (中文(简体) ),renderToString(), (中文(简体) ),renderToHtml() - 决定快照 用于CI(
toMatchSnapshot()(中文(简体) ) - 自动大小 到终端宽度
- 固定域 通过
.yDomain([min, max]) - 多系列 有彩色传说
链接
许可证
麻省理工学院