ahmadawais/chartli

GitHub: ahmadawais/chartli

将纯数字数据转化为终端图表的 CLI 工具,支持 ASCII、spark、条形图、柱状图、热力图、Unicode、Braille 和 SVG 等多种图表类型。

Stars: 260 | Forks: 9

![npx chartli](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/1baeba3aa0192934.jpg) # 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, 威胁情报, 开发者工具, 开源, 报表生成, 数据可视化, 数据展示, 文本模式, 文档结构分析, 柱状图, 热力图, 红队, 终端图表, 自动化攻击