返回顶部
c

chart-image图表图像生成

Generate publication-quality chart images from data. Supports line, bar, area, point, histogram, candlestick, pie/donut, heatmap, multi-series, and stacked charts. Use when visualizing data, creating graphs, plotting time series, showing distributions, or generating chart images for reports/alerts. Designed for Fly.io/VPS deployments - no native compilation, no Puppeteer, no browser required. Pure Node.js with prebuilt binaries.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 2.6.35
安全检测
已通过
8,986
下载量
免费
免费
13
收藏
概述
安装方式
版本历史

chart-image

图表图像生成器

使用Vega-Lite从数据生成PNG图表。完美适用于无头服务器环境。

为什么选择此技能?

专为Fly.io / VPS / Docker部署打造:

  • - ✅ 无需本地编译 - 使用预构建二进制文件的Sharp(不同于需要构建工具的canvas)
  • 无需Puppeteer/浏览器 - 纯Node.js,无需下载Chrome,无无头浏览器开销
  • 轻量级 - 总依赖约15MB,而基于Puppeteer的解决方案超过400MB
  • 冷启动快速 - 无需浏览器启动延迟,生成图表<500ms
  • 离线可用 - 无需外部API调用(不同于QuickChart.io)

设置(一次性)

bash
cd /data/clawd/skills/chart-image/scripts && npm install

快速使用

bash
node /data/clawd/skills/chart-image/scripts/chart.mjs \
--type line \
--data [{x:10:00,y:25},{x:10:30,y:27},{x:11:00,y:31}] \
--title 价格随时间变化 \
--output chart.png

图表类型

折线图(默认)

bash node chart.mjs --type line --data [{x:A,y:10},{x:B,y:15}] --output line.png

定量X轴域限制

当您希望固定数值或时间窗口而无需手动编辑Vega-Lite时非常有用: bash node chart.mjs --type line \ --data [{minute:0,value:12},{minute:1,value:18},{minute:2,value:14},{minute:3,value:20}] \ --x-field minute --y-field value --x-type quantitative \ --x-domain 0,2 --title 前3分钟 \ --output x-domain.png

柱状图

bash node chart.mjs --type bar --data [{x:A,y:10},{x:B,y:15}] --output bar.png

面积图

bash node chart.mjs --type area --data [{x:A,y:10},{x:B,y:15}] --output area.png

直方图

用于数值分布而非预分组的柱状图: bash node chart.mjs --type histogram \ --data [{value:12},{value:18},{value:19},{value:24},{value:31}] \ --x-field value --x-title 响应时间(ms) --y-title 计数 \ --bins 8 --tick-min-step-y 1 --x-label-angle -30 \ --output hist.png

饼图/环形图

bash

饼图

node chart.mjs --type pie --data [{category:A,value:30},{category:B,value:70}] \ --category-field category --y-field value --output pie.png

环形图(带孔)

node chart.mjs --type donut --data [{category:A,value:30},{category:B,value:70}] \ --category-field category --y-field value --output donut.png

K线图(OHLC)

bash node chart.mjs --type candlestick \ --data [{x:周一,open:100,high:110,low:95,close:105}] \ --open-field open --high-field high --low-field low --close-field close \ --title 股票价格 --output candle.png

热力图

bash node chart.mjs --type heatmap \ --data [{x:周一,y:第1周,value:5},{x:周二,y:第1周,value:8}] \ --color-value-field value --color-scheme viridis \ --y-label-overlap greedy \ --title 活动热力图 --output heatmap.png

多系列折线图

在一个图表中比较多个趋势: bash node chart.mjs --type line --series-field market \ --data [{x:一月,y:10,market:A},{x:一月,y:15,market:B}] \ --title 比较 --output multi.png

堆叠柱状图

bash node chart.mjs --type bar --stacked --color-field category \ --data [{x:周一,y:10,category:工作},{x:周一,y:5,category:个人}] \ --title 按类别统计小时数 --output stacked.png

成交量叠加(双Y轴)

价格线加成交量柱: bash node chart.mjs --type line --volume-field volume \ --data [{x:10:00,y:100,volume:5000},{x:11:00,y:105,volume:3000}] \ --title 价格+成交量 --output volume.png

迷你图(小型内联图表)

bash node chart.mjs --sparkline --data [{x:1,y:10},{x:2,y:15}] --output spark.png

迷你图默认80x20,透明背景,无坐标轴。

选项参考

基本选项
选项描述默认值
--type图表类型:line, bar, area, point, histogram, pie, donut, candlestick, heatmapline
--data
数据点的JSON数组 | - |

| --output | 输出文件路径 | chart.png | | --title | 图表标题 | - | | --width | 宽度(像素) | 600 | | --height | 高度(像素) | 300 |

坐标轴选项
选项描述默认值
--x-fieldX轴字段名x
--y-field
Y轴字段名 | y |

| --x-title | X轴标签 | 字段名 | | --y-title | Y轴标签 | 字段名 | | --x-type | X轴类型:ordinal, temporal, quantitative | ordinal | | --x-domain | 使用min,max边界限制/缩放X轴范围(适用于定量或时间图表) | auto | | --x-format | 时间X轴标签格式(d3-time-format,例如%b %d、%H:%M) | auto | | --x-sort | X轴排序:ascending, descending, 或 none(保留输入顺序) | auto | | --series-order CSV | 多系列和堆叠图例的显式系列/类别顺序(例如Critical,High,Medium) | 数据顺序 | | --x-label-limit PX | Vega截断前X轴标签的最大像素宽度 | auto | | --y-label-limit PX | Vega截断前Y轴标签的最大像素宽度 | auto | | --x-ticks N | 密集或稀疏图表的X轴目标刻度数 | auto | | --y-ticks N | 密集或稀疏图表的主/左Y轴目标刻度数 | auto | | --bins N | 直方图分箱数(仅--type histogram) | Vega自动 | | --tick-min-step N | 定量轴上刻度之间的最小步长(适用于计数/整数图表) | Vega自动 | | --tick-min-step-x N | 仅定量X轴上刻度之间的最小步长 | Vega自动 | | --tick-min-step-y N | 仅定量Y轴上刻度之间的最小步长 | Vega自动 | | --x-label-angle N | 旋转X轴标签(适用于密集类别/时间戳) | -45 | | --y-label-angle N | 旋转Y轴标签(适用于水平柱状图/热力图) | 0 / Vega默认 | | --x-label-overlap MODE | 强制Vega X轴重叠处理(parity, greedy, true, false)用于拥挤标签 | Vega自动 | | --y-label-overlap MODE | 强制Vega Y轴重叠处理(parity, greedy, true, false)用于拥挤标签 | Vega自动 | | --y2-ticks N | 双轴和成交量图表的次/右Y轴目标刻度数 | auto | | --y-domain | Y轴范围min,max | auto | | --y-pad | 添加垂直内边距,范围为范围的分数(例如0.1

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 chart-image-1776378194 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 chart-image-1776378194 技能

通过命令行安装

skillhub install chart-image-1776378194

下载

⬇ 下载 chart-image v2.6.35(免费)

文件大小: 40.53 KB | 发布时间: 2026-4-17 15:29

v2.6.35 最新 2026-4-17 15:29
Add x-domain support for quantitative and temporal charts, plus updated docs/examples.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部