ChartGen
Chartgen skill providing three core functions: data analysis, data interpretation, and data visualization. **Use Cases**: (1) Data Analysis - Statistics, fil...
Like a lobster shell, security has layers — review code before you run it.
License
Runtime requirements
SKILL.md
ChartGen AI Chart Generator
AI-powered chart generator that creates professional visualizations through natural language. Built on ChartGen AI engine.
Overview
Transform your data into stunning, interactive charts with simple natural language commands. No coding required - just describe the chart you want, and ChartGen AI generates it instantly.
This skill supports Text-to-Chart, Text-to-SQL, and Text-to-Data analysis. Simply provide Excel/CSV files or JSON data, describe your visualization needs in plain language, and get interactive ECharts visualizations, structured analysis reports, and AI-driven insights.
Powered by ChartGen AI engine, supporting multiple chart types including bar, line, pie, scatter, area, and more. Optimized for business analytics and data storytelling.
API Service: This skill uses the ChartGen API service hosted at chartgen.ai. All data is sent to https://chartgen.ai/api/platform_api/ for processing.
Quick Start
1. Apply for an API Key
You can easily create and manage your API Key at chartgen.ai. To begin with, you need to register for an account.
Steps:
- Visit chartgen.ai and sign up for an account
- Access the API management dashboard
- Create a new API and set the credit consumption limit
- Copy the API Key for use
2. Configure Environment Variable
export CHARTGEN_API_KEY="your-api-key-here"
3. Run Scripts
# Generate Chart (Text-to-Chart)
python scripts/data_visualization.py --query "Draw a bar chart of sales by region" --file sales.xlsx
# Data Analysis
python scripts/data_analysis.py --query "Calculate total sales by region" --file sales.xlsx
# Data Interpretation
python scripts/data_interpretation.py --query "Analyze sales trends" --file sales.xlsx
Credit Rules
- Calling a single tool consumes 20 credits
- You get 200 free credits per month for free accounts
- When credits run out, you can purchase more or upgrade your account on the chartgen.ai Billing page
Scripts Reference
| Script | Function | Use Case |
|---|---|---|
data_visualization.py | Chart Generation | Text-to-Chart, create bar/line/pie/scatter charts |
data_analysis.py | Data Analysis | Statistics, filtering, aggregation, calculation |
data_interpretation.py | Insight Generation | Trend analysis, pattern discovery, report generation |
Parameters
Common Parameters
| Parameter | Required | Description |
|---|---|---|
--query | Yes | Natural language query statement |
--file | No | Local file path (.xlsx/.xls/.csv), mutually exclusive with --json |
--json | No | JSON data (string or file path), mutually exclusive with --file |
Visualization Specific Parameters
| Parameter | Description |
|---|---|
--output, -o | Output HTML file path (defaults to /tmp/openclaw/charts/) |
Data Format
File Format
Supports .xlsx, .xls, .csv Excel and CSV files.
Note: Only one of --file or --json is needed. If both are provided, --file takes precedence. File types support both row-metric-column data files and column-metric-row data files.
JSON Format
JSON data should be an array format, where each element is a row of data:
[
{"name": "Product A", "sales": 1000, "region": "East"},
{"name": "Product B", "sales": 1500, "region": "North"},
{"name": "Product C", "sales": 800, "region": "South"}
]
Or pass via file:
python scripts/data_visualization.py --query "Draw a chart" --json data.json
Usage Examples
Chart Generation (Text-to-Chart)
# Bar chart
python scripts/data_visualization.py --query "Draw a bar chart of sales by product" --file sales.xlsx
# Line chart
python scripts/data_visualization.py --query "Draw a line chart of sales trends" --file trends.xlsx
# Pie chart
python scripts/data_visualization.py --query "Draw a pie chart of sales by region" --file sales.xlsx
# Scatter plot
python scripts/data_visualization.py --query "Draw a scatter plot of price vs quantity" --file data.xlsx
# Save to specific path
python scripts/data_visualization.py --query "Draw a bar chart" --file data.xlsx -o /path/to/chart.html
Data Analysis
# Statistical calculation
python scripts/data_analysis.py --query "Calculate total and average sales by region" --file sales.xlsx
# Data filtering
python scripts/data_analysis.py --query "Filter products with sales greater than 1000" --file sales.xlsx
# Sorting
python scripts/data_analysis.py --query "Sort by sales in descending order" --file sales.xlsx
Insight Generation
# Trend analysis
python scripts/data_interpretation.py --query "Analyze monthly sales trends" --file monthly_sales.xlsx
# Anomaly detection
python scripts/data_interpretation.py --query "Find and explain anomalies in the data" --file data.xlsx
# Comprehensive interpretation
python scripts/data_interpretation.py --query "Provide a comprehensive analysis with key insights" --file report.xlsx
Supported Chart Types
- Bar Chart / Stacked Bar Chart
- Line Chart / Area Chart
- Pie Chart / Donut Chart
- Scatter Plot
- And more...
Output Description
Chart Generation
- Console Output: ECharts configuration JSON
- HTML File: Interactive chart that can be opened in any browser
Data Analysis & Insight Generation
Returns Markdown format text results, including analysis conclusions, data tables, and insights.
Error Handling
Common errors and solutions:
| Error Message | Cause | Solution |
|---|---|---|
CHARTGEN_API_KEY not set | Environment variable not set | export CHARTGEN_API_KEY="your-key" |
API request timeout | Request timeout | Check network connection and retry |
File not found | File does not exist | Check if file path is correct |
credits are insufficient | Insufficient credits | Recharge or contact administrator |
Technical Details
- API Base URL:
https://chartgen.ai/api/platform_api/ - Authentication: Header
Authorization: <api-key> - Request Format: JSON
- Timeout: 60 seconds
- Required Environment Variable:
CHARTGEN_API_KEY
See scripts/chartgen_api.py for implementation details.
Privacy Notice
Data sent to remote API: This skill reads your provided data files (CSV/XLSX/JSON), base64-encodes them, and sends them to the ChartGen API at https://chartgen.ai/api/platform_api/ for analysis and chart generation. Your data will leave your machine.
Recommendations:
- Do not upload sensitive or regulated data
- Use a dedicated API key with limited scope/credits
- Review the privacy practices at chartgen.ai before use
Files
5 totalComments
Loading comments…
