Install
openclaw skills install analysis-dataChartgen skill providing three core functions: data analysis, data interpretation, and data visualization. **Use Cases**: (1) Data Analysis - Statistics, fil...
openclaw skills install analysis-dataAI-powered chart generator that creates professional visualizations through natural language. Built on ChartGen AI engine.
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.
You can easily create and manage your API Key at chartgen.ai. To begin with, you need to register for an account.
Steps:
export CHARTGEN_API_KEY="your-api-key-here"
# 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
| 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 |
| 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 |
| Parameter | Description |
|---|---|
--output, -o | Output HTML file path (defaults to /tmp/openclaw/charts/) |
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 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
# 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
# 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
# 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
Returns Markdown format text results, including analysis conclusions, data tables, and insights.
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 |
https://chartgen.ai/api/platform_api/Authorization: <api-key>CHARTGEN_API_KEYSee scripts/chartgen_api.py for implementation details.
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: