AutoPlot - Automatic Data Visualization
Transform any data file into beautiful charts with one command. No Python, no coding, just results.
When to Use
✅ Use this skill when:
- "Visualize this CSV file"
- "Create a chart from this data"
- "Plot these sales numbers"
- "Show me trends in this dataset"
- "Make a bar chart from this Excel file"
- "Generate an infographic from this JSON"
- "Analyze and visualize this data"
❌ Don't use when:
- Real-time streaming data visualization
- Complex statistical analysis (use dedicated tools)
- 3D visualization (not supported yet)
Features
1. Auto-Detection
- File format - CSV, Excel (.xlsx/.xls), JSON
- Data types - Numeric, categorical, datetime, text
- Relationships - Correlations, trends, distributions
2. Smart Chart Selection
| Data Pattern | Auto-Selected Chart | |-------------|---------------------| | Time series | Line chart with trend | | Categories + values | Bar chart | | Distributions | Histogram / Box plot | | Correlations | Scatter plot + regression | | Proportions | Pie / Donut chart | | Geographic | Map visualization |
3. Output Formats
- PNG - Static image, email-ready
- SVG - Scalable, web-ready
- HTML - Interactive, zoom/pan/hover
- PDF - Publication quality
4. Styling
- Professional themes (default, minimal, dark)
- Auto-color palettes
- Responsive sizing
- Annotations and labels
Quick Start
Check installation
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py --version
Visualize a file
# Auto-detect and visualize
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize data.csv
# Specify output format
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize sales.xlsx --format html
# Custom title and theme
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize metrics.json --title "Q4 Performance" --theme dark
Commands
visualize
Create visualization from data file.
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize <file> [options]
Options:
--chart-type Override auto-detection (bar, line, scatter, pie, histogram, box)
--x-column Specify X-axis column
--y-column Specify Y-axis column
--title Chart title
--theme Visual theme (default, minimal, dark, colorful)
--format Output format (png, svg, html, pdf)
--output Output file path
--width Chart width in pixels (default: 1200)
--height Chart height in pixels (default: 800)
analyze
Analyze data structure and suggest visualizations.
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py analyze <file> [options]
Options:
--detailed Show detailed statistics
--sample N Show first N rows
dashboard
Generate multi-chart dashboard.
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py dashboard <file> [options]
Options:
--charts N Number of charts to include
--layout Layout style (grid, vertical, horizontal)
Examples
Example 1: Sales Data
Input: sales.csv
Month,Revenue,Profit,Customers
Jan,10000,3000,150
Feb,12000,4000,180
Mar,15000,5000,220
Command:
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize sales.csv --title "Q1 Sales Performance"
Output:
- Line chart for Revenue/Profit trend
- Bar chart for Customers by month
- Correlation heatmap
Example 2: Survey Results
Input: survey.xlsx with categorical data
Command:
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize survey.xlsx --chart-type pie
Output: Pie chart showing response distribution
Example 3: Interactive Dashboard
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py dashboard metrics.json --format html
Output: metrics_dashboard.html - Open in browser for interactive exploration
Supported Data Formats
CSV
- Comma or tab delimited
- Headers auto-detected
- Date columns auto-parsed
Excel
- .xlsx and .xls
- Multiple sheets (specify with --sheet)
- Formulas evaluated
JSON
- Array of objects
- Nested objects flattened
- Metadata preserved
Chart Types
Available Charts
- Line - Time series, trends
- Bar - Comparisons, rankings
- Scatter - Correlations, clusters
- Pie/Donut - Proportions
- Histogram - Distributions
- Box/Violin - Statistical summaries
- Heatmap - Correlation matrices
- Area - Cumulative trends
- Bubble - Multi-dimensional
Auto-Selection Logic
if datetime_column:
-> Line chart
elif categorical + numeric:
-> Bar chart
elif two_numeric:
if correlation_detected:
-> Scatter + regression
else:
-> Scatter
elif single_numeric:
-> Histogram
elif categorical_only:
-> Count plot / Pie
Styling Options
Themes
- default - Clean, professional
- minimal - No grid, minimal labels
- dark - Dark background, neon colors
- colorful - Vibrant palette
- print - B&W optimized
Customization
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize data.csv \
--theme dark \
--title "Revenue Analysis" \
--width 1600 \
--height 900
Output Examples
PNG (Static)
- Email attachments
- Documents
- Social media
SVG (Vector)
- Scalable without quality loss
- Web embedding
- Print materials
HTML (Interactive)
- Zoom and pan
- Hover tooltips
- Toggle data series
- Export to PNG
PDF (Publication)
- Research papers
- Reports
- Presentations
Advanced Usage
Multi-Series Charts
# Plot multiple columns
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize data.csv \
--y-column Revenue,Profit,Expenses \
--chart-type line
Aggregations
# Group by category and aggregate
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize data.csv \
--group-by Category \
--aggregate sum
Filtering
# Filter data before plotting
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize data.csv \
--filter "Year >= 2020" \
--filter "Status = 'Active'"
Integration with OpenClaw
In conversation
User: "Show me the trend in sales.csv"
AI: [Uses autoplot to generate line chart]
User: "Create a dashboard from this Excel file"
AI: [Generates multi-chart HTML dashboard]
Batch processing
# Visualize all CSV files in directory
for file in *.csv; do
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize "$file"
done
Requirements
- Python 3.8+
- pandas
- plotly / matplotlib
- openpyxl (for Excel files)
Installation
# Install dependencies
pip install -r ~/.openclaw/workspace/autoplot/requirements.txt
# Verify installation
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py --version
Troubleshooting
Large datasets (>100k rows)
Use sampling:
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize big.csv --sample 10000
Memory issues
Process in chunks or use aggregation.
Date parsing errors
Specify date format:
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize data.csv --date-format "%Y-%m-%d"
Roadmap
- [ ] 3D visualization support
- [ ] Animation/timelapse charts
- [ ] Real-time data streaming
- [ ] SQL database connections
- [ ] Custom chart templates
- [ ] API server mode
License
MIT License - See LICENSE file
Credits
Built with Plotly, Pandas, and OpenClaw
Scan to join WeChat group