Open-source data visualization skill for OpenClaw, built for Feishu ecosystem
✨ Features • 🚀 Installation • ⚡ Quick Start • 📊 Chart Types • 📥 Data Sources • 📖 Examples • ❓ FAQ • 🤝 Contributing
12+ professional chart types cover 99% of data visualization scenarios:
No manual data conversion required, support 6+ common data sources:
Ultra HD Output: 2x Retina DPI rendering, 1200x750 default resolution, sharp text and lines
Precise Cropping: Automatically capture only the chart area, no extra whitespace
Feishu Optimized: Perfect display in Feishu conversations, documents, and wiki pages
Dual Mode Support:
Download the skill package: bash
wget https://github.com/openclaw/skills/releases/download/data-analysis-for-feishu-v1.0.0/data-analysis-for-feishu.skill
Install in OpenClaw:
Go to OpenClaw Admin → Skills → Install → Upload the .skill file
Done! Dependencies are automatically installed on first use.
bash
cd /path/to/openclaw/skills
git clone https://github.com/openclaw/data-analysis-for-feishu.git
cd data-analysis-for-feishu
pip install -r requirements.txt
Generate your first chart in 1 minute:
bash
# Go to skill directory
cd skills/data-analysis-for-feishu
# Generate a demo funnel chart
python scripts/main.py \
--type funnel \
--title "User Conversion Funnel" \
--labels "Visit" "Register" "Add to Cart" "Purchase" "Repurchase" \
--values 10000 4500 2200 1200 500 \
--output demo_funnel.png
You will get a high-definition funnel chart and automatic analysis report.
Let AI do all the work, just provide data:
bash
# Auto analyze Excel data, recommend chart type, generate chart + analysis
python scripts/main.py \
--excel your_data.xlsx \
--output result.png \
--analysis-output analysis.txt
Chart TypeBest ForExampleLine ChartTime series trend analysisDaily sales trends for the past monthArea ChartMulti-series trend comparison2023 vs 2024 monthly sales comparisonBar ChartCategory comparison/rankingSales ranking by regionStacked Bar ChartMulti-dimensional proportionProduct category composition in each regionPie ChartProportion/distributionRevenue composition of each business lineDonut ChartRing-style proportionMarket share of each competitorGauge ChartProgress/KPI completionAnnual sales target completion rateRadar ChartMulti-dimensional comparisonProduct capability assessmentScatter ChartCorrelation analysisCorrelation between advertising spend and salesFunnel ChartConversion analysisUser conversion from visit to purchaseWaterfall ChartFinancial change analysisMonthly profit and loss changesDual Axis ChartMulti-metric comparisonMonthly sales and growth rate
Data SourceUsageExcel (.xlsx/.xls)--excel data.xlsx --sheet Sheet1CSV/TSV--csv data.csvFeishu Bitable--bitable-records '[{"fields": {...}}]'Feishu Sheet--sheet-data '[["Header1", "Header2"], ["val1", "val2"]]'Markdown Table`--markdown-table "Raw Data--x-axis "Jan" "Feb" --y-axis 100 200
bash
python scripts/main.py \
--type area \
--title "2023 vs 2024 Sales Trend" \
--excel sales_comparison.xlsx \
--x-axis-field "Month" \
--y-axis-field "2023 Sales,2024 Sales" \
--series-names "2023,2024" \
--output sales_trend.png
bash
python scripts/main.py \
--type dual_axis \
--title "Monthly Performance" \
--x-axis "Jan" "Feb" "Mar" "Apr" "May" "Jun" \
--y1-axis 120 150 135 180 210 240 \
--y1-name "Sales (k)" \
--y2-axis 0 25 -10 33.3 16.7 14.3 \
--y2-name "Growth Rate (%)" \
--output performance.png
bash
python scripts/main.py \
--type waterfall \
--title "Monthly Profit Breakdown" \
--x-axis "Initial Revenue" "Cost of Goods" "Operating Expenses" "Tax" "Net Profit" \
--y-axis 1000 -300 -200 -150 350 \
--y-name "Amount (k)" \
--output profit_waterfall.png
bash
python scripts/main.py \
--type bar \
--title "Quarterly Revenue" \
--markdown-table "| Quarter | Revenue | Profit |
|----|----|----|
| Q1 | 1200 | 240 |
| Q2 | 1500 | 375 |
| Q3 | 1350 | 297 |
| Q4 | 1800 | 540 |" \
--x-axis-field "Quarter" \
--y-axis-field "Revenue,Profit" \
--output quarterly.png
Edit DEFAULT_COLORS in scripts/generate_echarts_screenshot.py to use your brand colors:
python
DEFAULT_COLORS = ["#YOUR_COLOR1", "#YOUR_COLOR2", ...]
Change default width/ height in scripts/main.py to adjust output size.
When you have Feishu ECharts component permission, use:
bash
python scripts/generate_echarts_card.py --type line --title "Demo" --x-axis "A" "B" --y-axis 1 2 --output card.json
Then send the JSON as Feishu card.
A: First run automatically downloads Chromium browser (about 180MB), please wait patiently. Subsequent runs will be very fast.
A: Yes! You can generate charts as local PNG files for any usage scenario, Feishu integration is optional.
A: Go to Feishu Open Platform → Your App → Permissions → Search for "Message Card - Use ECharts Chart Component" → Apply for permission. It's free and usually approved within 1 working day.
A: Perfect support! All components use UTF-8 encoding, Chinese labels, titles, and analysis reports are displayed normally.
A: Yes! Just add the chart configuration in scripts/generate_echarts_screenshot.py, following the existing pattern.
Contributions are welcome! You can contribute in the following ways:
bash
# Fork and clone the repo
git clone https://github.com/your-username/data-analysis-for-feishu.git
cd data-analysis-for-feishu
# Install dependencies
pip install -r requirements.txt
# Run tests
python scripts/main.py --type funnel --title "Test" --labels "A" "B" "C" --values 100 50 20 --output test.png
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Distributed under the MIT License. See LICENSE file for more information.
If this skill helps you, please give it a ⭐ on GitHub!