Chart Image

📊 零浏览器依赖的专业图表引擎

dev-tool榜 #2

无浏览器依赖的轻量级图表生成工具,支持10+种图表类型,专为Fly.io/VPS部署优化,冷启动<500ms,适合数据可视化与监控告警场景。

收藏
28.1k
安装
9.7k
版本
2.2.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

chart-image 是一个基于 Vega-Lite 和 Sharp 的纯 Node.js 图表生成引擎,通过命令行接口将 JSON 数据渲染为 PNG/SVG 图像。核心工作流为:定义数据 → 选择图表类型 → 配置视觉参数 → 输出图像文件。支持标准 CLI 参数(--type, --data, --output)及丰富的格式控制选项。

显著优点

部署友好性突出:无需 Chromium/Puppeteer(节省 400MB+ 依赖),无需原生编译(避开 node-canvas 的 build 依赖地狱),预构建 Sharp 二进制文件确保在容器环境即装即用。

性能优异:冷启动 <500ms,总依赖体积仅 ~15MB,特别适合 serverless 和边缘部署场景。

图表类型全面:涵盖折线、柱状、面积、散点、饼图/环形、K线、热力图等基础类型,同时支持多系列对比、堆叠条形、成交量叠加、迷你 sparkline 等进阶需求。

专业可视化能力:内置时间轴处理(--x-type temporal)、多种数值格式化(percent/dollar/compact/decimal4)、暗色主题、数据标注、水平参考线等企业级功能,输出质量可直接用于报告和告警。

离线可用:零外部 API 调用,对比 QuickChart.io 等 SaaS 方案无网络依赖和数据泄露风险。

潜在缺点与局限性

交互性缺失:仅生成静态图像,不支持工具提示、缩放、筛选等交互式探索功能。

定制深度受限:高级定制需手写 Vega-Lite JSON(--spec),对用户可视化专业知识有要求;主题系统仅支持明暗切换,无法细粒度调整配色。

数据规模上限:未明确标注大数据集性能边界,极端数据量(百万级点)可能受 Sharp 渲染内存限制。

生态耦合:依赖特定文件路径(/data/clawd/skills/chart-image/scripts/),跨平台迁移需调整部署配置。

适合人群

  • 需要为监控告警、数据报告、Telegram/Discord Bot 自动生成图表的后端开发者
  • 在 Fly.io、Docker、VPS 等资源受限环境运行的应用
  • 追求冷启动速度与依赖精简的 serverless/边缘计算场景
  • 对交互性无要求、重视离线可用性和渲染稳定性的数据团队

常规风险

路径注入风险--output 参数若未妥善过滤,可能导致任意文件覆盖(应限制输出目录为 /data/clawd/tmp/)。

数据解析风险--data 接收原始 JSON 字符串,恶意构造的 payload 可能触发原型链污染(需确保输入来源可信)。

资源消耗:高频调用场景下,Sharp 图像处理可能占用显著 CPU/内存,建议设置并发限制。

时区/本地化:暗色主题的时间自动切换基于以色列时区(20:00-07:00),多区域部署需注意调整。

Chart Image 内容

暂无文件树

手动下载zip · 29.7 kB
contentapplication/octet-stream
请选择文件