ahmadawais/chartli
GitHub: ahmadawais/chartli
将纯数字数据转化为终端图表的 CLI 工具,支持 ASCII、spark、条形图、柱状图、热力图、Unicode、Braille 和 SVG 等多种图表类型。
Stars: 260 | Forks: 9

# chartli
用于在终端中将数值文本数据渲染为图表的 CLI 工具。`chartli` 将纯数字转换为终端图表。支持 ascii、spark、bars、columns、heatmap、unicode、braille、svg。
## 安装
立即运行:
```
npx chartli --help
```
或全局安装:
```
pnpm add -g chartli
```
快速开始:
```
npx chartli
npx chartli --help
```
## 用法
```
npx chartli [file] [options]
```
```
Usage: chartli [options] [file]
Render terminal charts from numeric data
Arguments:
file Input file (reads from stdin if not provided)
Options:
-v, --version Output the version number
-t, --type Chart type: svg, ascii, unicode, braille, spark, bars,
columns, heatmap (default: "ascii")
-w, --width Chart width
-h, --height Chart height
-m, --mode SVG mode: circles or lines (default: "circles")
--help Display help for command
```
## 类型
- `ascii`
- `spark`
- `bars`
- `columns`
- `heatmap`
- `unicode`
- `braille`
- `svg`
## 示例数据文件
- `examples/assets/core-single-series.txt`
- `examples/assets/core-multi-series.txt`
- `examples/assets/image-data.txt`
- `examples/assets/image-columns-variant.txt`
## 图表集(文本图表)
### ASCII 折线图
```
pnpm chartli examples/assets/image-data.txt -t ascii -w 24 -h 8
```
```
1.00 │ ○
│
│ ◇ ◇
│ ◆ ●
0.50 │ ● ◆
│ ◇ ◆ ●
│ ○ ◆
0.00 │◇ ◆ ◇ ◇
└────────────────────────
```
### Sparklines
```
pnpm chartli examples/assets/image-data.txt -t spark
```
```
S1 ▁▂▃▄▅▆
S2 ▁▄▂▇▅█
S3 ▁▂▄▃▆▅
S4 ▁▄▂▇▂▇
```
### 水平条形图
```
pnpm chartli examples/assets/image-data.txt -t bars -w 28
```
```
S1 |███████████████████ | 0.67
S2 |▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓| 1.00
S3 |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ | 0.53
S4 |░░░░░░░░░░░░░░░░░░░░░░░ | 0.83
```
### 柱状图
```
pnpm chartli examples/assets/image-data.txt -t columns -h 8
```
```
▓
▓ ░
▓ ░
█ ▓ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
───────
1 2 3 4
```
### 柱状图(变体)
```
pnpm chartli examples/assets/image-columns-variant.txt -t columns -h 8
```
```
▓ ░
█ ▓ ░
█ ▓ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
█ ▓ ▒ ░
───────
1 2 3 4
```
### 热力图
```
pnpm chartli examples/assets/image-data.txt -t heatmap
```
```
C1 C2 C3 C4
R01
R02 ░ ▒ ░ ▒
R03 ░ ░ ▒ ░
R04 ▒ ▓ ░ ▓
R05 ▒ ▒ ▓ ░
R06 ▓ █ ▒ ▓
```
### Unicode 条形图
```
pnpm chartli examples/assets/image-data.txt -t unicode
```
```
█
▃ █ ▅ ▅
▃ █ █ ▃ █ █
▂█ █▆█ █▂ █ █
▂██ ▂ ███ ▂ ██ ▃ █ █
▁███ █ ███ █▁██ █ █ █
▁████ █▅███ ▁████ █▁█▁█
█████ █████ █████ █████
```
### Braille
```
pnpm chartli examples/assets/image-data.txt -t braille -w 16 -h 6
```
```
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠈
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀
⡀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
...
```
### SVG 图表
```
pnpm chartli examples/assets/image-data.txt -t svg -m lines -w 320 -h 120 | sed -n '/^ examples/assets/output/image-chart.svg
```
```
```
# 示例
所有示例均由 `examples/assets/` 中的数据文件驱动。
## 数据文件
- `examples/assets/core-single-series.txt`
- `examples/assets/core-multi-series.txt`
- `examples/assets/image-data.txt`
- `examples/assets/image-columns-variant.txt`
- `examples/assets/output/`
## 核心命令
- `pnpm chartli examples/assets/core-single-series.txt -t ascii -w 24 -h 8`
- `pnpm chartli examples/assets/core-multi-series.txt -t spark`
- `pnpm chartli examples/assets/core-multi-series.txt -t bars -w 28`
- `pnpm chartli examples/assets/core-multi-series.txt -t columns -h 8`
- `pnpm chartli examples/assets/core-multi-series.txt -t heatmap`
- `pnpm chartli examples/assets/core-multi-series.txt -t unicode`
- `pnpm chartli examples/assets/core-single-series.txt -t braille -w 16 -h 6`
- `pnpm chartli examples/assets/core-multi-series.txt -t svg -m lines -w 320 -h 120 | sed -n '/^ examples/assets/output/core-chart.svg`
## 图像命令
- `pnpm chartli examples/assets/image-data.txt -t ascii -w 24 -h 8`
- `pnpm chartli examples/assets/image-data.txt -t spark`
- `pnpm chartli examples/assets/image-data.txt -t bars -w 28`
- `pnpm chartli examples/assets/image-data.txt -t columns -h 8`
- `pnpm chartli examples/assets/image-columns-variant.txt -t columns -h 8`
- `pnpm chartli examples/assets/image-data.txt -t heatmap`
- `pnpm chartli examples/assets/image-data.txt -t unicode`
- `pnpm chartli examples/assets/image-data.txt -t braille -w 16 -h 6`
- `pnpm chartli examples/assets/image-data.txt -t svg -m lines -w 320 -h 120 | sed -n '/^ examples/assets/output/image-chart.svg`
## 运行分组示例
- `pnpm run example:kitchen-sink`
- `pnpm run example:image-set:kitchen-sink`
- `pnpm run example:all-kitchen-sink`
## 运行所有示例
图像集图表运行:
```
pnpm run example:image-set:kitchen-sink
```
核心 + 图像运行:
```
pnpm run example:all-kitchen-sink
```
## Agent 技能安装
为 agents 安装仓库技能:
```
npx skills add ahmadawais/chartli
```
## 许可证
Apache-2.0 由 [Ahmad Awais](https://x.com/MrAhmadAwais) 制作,使用 [Command Code](https://commandcode.ai) 构建。
标签:ASCII艺术, Braille, CMS安全, GNU通用公共许可证, JavaScript, MITM代理, Node.js, npm包, Shell, Sparklines, SVG, Unicode, 威胁情报, 开发者工具, 开源, 报表生成, 数据可视化, 数据展示, 文本模式, 文档结构分析, 柱状图, 热力图, 红队, 终端图表, 自动化攻击