Token导航 LogoToken导航

Agent Skill · 效率

chart-toolkit(图表工具包)

chart-toolkit 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

chart-toolkit 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描有提醒项,按安装量在效率类的 21,003 个 Skill 里排第 15,040。

总安装 3,222周安装 137GitHub Stars 公开资料未说明下载 1,129核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:chart-toolkit(图表工具包)
来源仓库:https://github.com/qiuwenxi416488212-ship-it/chart-toolkit
安装命令:
openclaw skills install chart-toolkit
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install chart-toolkit

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

创建和导出各种图表(折线图、条形图、饼图、烛台图、热图)、仪表板和 HTML 报告,并具有实时数据更新和自动刷新功能。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install chart-toolkit;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

chart-toolkit 怎么安装?

在终端执行 openclaw skills install chart-toolkit。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

chart-toolkit 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

chart-toolkit 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

chart-toolkit 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

chart-toolkit 用的人多吗?

公开数据是累计安装 3,222 次,近一周安装 137 次,下载 1,129 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

chart-toolkit 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
chart-toolkit

图表工具包 · 本页

3,222—需要联网MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Data Visualization - 数据可视化仪表盘

图表生成/仪表盘制作/实时数据看板/自动报告 最后更新:2026-04-13

功能概述

  • 📊 图表生成:折线/柱状/饼图/热力图
  • 📈 K线图表:股票/期货专用图表
  • 🖥️ 仪表盘:多图表组合看板
  • 🔄 实时更新:数据自动刷新
  • 📝 报告导出:PDF/HTML/PNG

图表生成

1. Matplotlib基础图表

import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Agg')  # 非交互式后端

# 设置中文
plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial']
plt.rcParams['axes.unicode_minus'] = False

def plot_line(data, title, xlabel, ylabel, output='chart.png'):
    """折线图"""
    plt.figure(figsize=(12, 6))
    plt.plot(data['x'], data['y'])
    plt.title(title)
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.grid(True)
    plt.savefig(output, dpi=100, bbox_inches='tight')
    plt.close()
    return output

def plot_bar(categories, values, title, output='bar.png'):
    """柱状图"""
    plt.figure(figsize=(12, 6))
    plt.bar(categories, values)
    plt.title(title)
    plt.xticks(rotation=45)
    plt.tight_layout()
    plt.savefig(output, dpi=100)
    plt.close()
    return output

def plot_pie(sizes, labels, title, output='pie.png'):
    """饼图"""
    plt.figure(figsize=(8, 8))
    plt.pie(sizes, labels=labels, autopct='%1.1f%%')
    plt.title(title)
    plt.savefig(output)
    plt.close()
    return output

2. K线图表

import mplfinance as mpf

def plot_candlestick(data, title='K线图', output='candle.png'):
    """K线图"""
    # data需要包含: Date, Open, High, Low, Close, Volume
    mpf.plot(
        data.set_index('Date'),
        type='candle',
        title=title,
        style='charles',
        savefig=output
    )
    return output

def plot_volume(data, output='volume.png'):
    """成交量图"""
    mpf.plot(
        data.set_index('Date'),
        type='line',
        volume=True,
        savefig=output
    )
    return output

3. 热力图

import seaborn as sns
import numpy as np

def plot_heatmap(data, title, output='heatmap.png'):
    """热力图"""
    plt.figure(figsize=(12, 8))
    sns.heatmap(data, annot=True, fmt='.2f', cmap='YlOrRd')
    plt.title(title)
    plt.tight_layout()
    plt.savefig(output)
    plt.close()
    return output

def correlation_matrix(df, output='corr.png'):
    """相关系数矩阵"""
    plt.figure(figsize=(10, 8))
    sns.heatmap(df.corr(), annot=True, cmap='coolwarm', center=0)
    plt.title('Correlation Matrix')
    plt.savefig(output)
    plt.close()
    return output

仪表盘制作

1. 多图表组合

from matplotlib.gridspec import GridSpec

def create_dashboard(data, output='dashboard.png'):
    """创建仪表盘"""
    fig = plt.figure(figsize=(16, 10))
    gs = GridSpec(3, 2, figure=fig)
    
    # 图1:K线
    ax1 = fig.add_subplot(gs[0, :])
    mpf.plot(data['kline'], type='candle', ax=ax1, show=False)
    
    # 图2:成交量
    ax2 = fig.add_subplot(gs[1, 0])
    ax2.bar(data['volume']['date'], data['volume']['vol'])
    ax2.set_title('Volume')
    
    # 图3:资金流
    ax3 = fig.add_subplot(gs[1, 1])
    ax3.plot(data['money_flow'])
    ax3.set_title('Money Flow')
    
    # 图4:收益曲线
    ax4 = fig.add_subplot(gs[2, :])
    ax4.plot(data['equity'])
    ax4.set_title('Equity Curve')
    
    plt.tight_layout()
    plt.savefig(output, dpi=100)
    plt.close()
    return output

2. 实时看板

import time

class LiveDashboard:
    """实时看板"""
    
    def __init__(self, refresh_interval=60):
        self.refresh_interval = refresh_interval
        self.data_sources = {}
    
    def add_source(self, name, func):
        """添加数据源"""
        self.data_sources[name] = func
    
    def update(self):
        """更新所有数据"""
        results = {}
        for name, func in self.data_sources.items():
            try:
                results[name] = func()
            except Exception as e:
                print(f"Failed to update {name}: {e}")
        return results
    
    def run(self, duration=3600):
        """运行看板"""
        start = time.time()
        while time.time() - start < duration:
            data = self.update()
            self.render(data)
            time.sleep(self.refresh_interval)

HTML看板

1. Plotly交互图

import plotly.express as px
import plotly.graph_objects as go
from plotly.subplots import make_subplots

def create_html_dashboard(data):
    """创建HTML仪表盘"""
    fig = make_subplots(
        rows=2, cols=2,
        subplot_titles=('K线', '成交量', '资金流', '收益曲线')
    )
    
    # K线
    fig.add_trace(
        go.Candlestick(x=data['date'], open=data['open'], 
                      high=data['high'], low=data['low'], close=data['close']),
        row=1, col=1
    )
    
    # 成交量
    fig.add_trace(
        go.Bar(x=data['date'], y=data['volume']),
        row=1, col=2
    )
    
    # 收益曲线
    fig.add_trace(
        go.Scatter(x=data['date'], y=data['equity'], name='Equity'),
        row=2, col=1
    )
    
    fig.update_layout(height=800, showlegend=True)
    
    html = fig.to_html(full_html=False)
    return html

2. 数据表格

def create_data_table(data, columns, title='数据表'):
    """创建数据表格HTML"""
    html = f'''
    <h3>{title}</h3>
    <table style="width:100%; border-collapse: collapse;">
        <tr style="background:#f0f0f0;">
            {"".join([f"<th>{c}</th>" for c in columns])}
        </tr>
    '''
    
    for row in data:
        html += '<tr>' + "".join([f"<td>{v}</td>" for v in row]) + '</tr>'
    
    html += '</table>'
    return html

核心命令

1. 生成图表

命令:生成图表 [类型] [数据]

示例:
- 生成图表 折线图 [1,2,3,4,5]
- 生成图表 柱状图 苹果:100,香蕉:80

2. 生成K线

命令:生成K线 [股票代码]

示例:
- 生成K线 600519

3. 生成报告

命令:生成报告 [报告名称]

示例:
- 生成报告 每日看板
- 生成报告 股票分析

应用场景

1. 股票分析报告

def stock_report(code):
    """生成股票报告"""
    # 获取数据
    data = get_stock_data(code)
    
    # 生成图表
    chart1 = plot_candlestick(data['kline'], f'{code} K线')
    chart2 = plot_bar(data['volume']['date'], data['volume']['vol'], '成交量')
    
    # 生成HTML报告
    html = f'''
    <html>
    <head><title>{code} 分析报告</title></head>
    <body>
        <h1>{code} 分析报告</h1>
        <img src="{chart1}">
        <img src="{chart2}">
    </body>
    </html>
    '''
    
    with open(f'{code}_report.html', 'w') as f:
        f.write(html)
    
    return f'{code}_report.html'

2. 策略回测报告

def backtest_report(results):
    """生成回测报告"""
    # 收益曲线
    equity_chart = plot_line({
        'x': results['dates'],
        'y': results['equity']
    }, '收益曲线', '日期', '资金')
    
    # 统计
    stats = calculate_stats(results)
    
    html = f'''
    <html>
    <body>
        <h1>策略回测报告</h1>
        <img src="{equity_chart}">
        <h2>统计数据</h2>
        <ul>
            <li>总收益率: {stats['total_return']:.2f}%</li>
            <li>年化收益: {stats['annual_return']:.2f}%</li>
            <li>夏普比率: {stats['sharpe']:.2f}</li>
            <li>最大回撤: {stats['max_drawdown']:.2f}%</li>
        </ul>
    </body>
    </html>
    '''
    
    return html

图表类型选择

场景推荐图表
趋势变化折线图
对比分析柱状图
占比分布饼图/环形图
相关性热力图/散点图
K线走势蜡烛图
分布情况直方图/箱线图
地理数据地图热力图

注意事项

  1. 数据量:大数据集要采样
  2. 中文显示:配置中文字体
  3. 交互性:需要交互用Plotly
  4. 导出格式:PNG清晰/HTML交互

Code Implementation

Python实现: chart_generator.py

`python from chart_generator import ChartGenerator, quick_chart

快速图表

chart = quick_chart(data, 'line', 'date', ['sales', 'profit']) chart.save('chart.png')

或使用完整API

gen = ChartGenerator() gen.line_chart(data, 'date', 'sales', title='Sales') gen.bar_chart(data, 'category', 'value') gen.pie_chart(data, 'name', 'value') gen.scatter_chart(data, 'x', 'y', size='size', color='category') `

平台分布

OpenClaw

73.16%
按下载量换算826

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills