Install
openclaw skills install pythesis-plotPython scientific plotting tool for thesis/dissertation scenarios. Workflow: data upload → analysis → recommendations → confirmation → generation. Triggers when users upload data files (CSV/Excel/TXT) and ask for plots, charts, figures, or data visualization for academic publications.
openclaw skills install pythesis-plotPython scientific plotting workflow tool supporting the complete process from data upload to figure generation for academic publications.
[User Uploads Data] → [Auto-save to output dir] → [Data Analysis]
↓
[Generate Images to output dir] ← [Code Generation] ← [User Confirms Scheme]
timestamp-original_filename, save to output/YYYYMMDD-filename/python scripts/workflow.py --input data.csv --output-dir output/
python scripts/data_analyzer.py --input data.csv
Output: Data characteristics report + chart recommendation scheme
python scripts/plot_generator.py --config plot_config.json --output-dir output/
output/
└── 20250312-145230-data.csv/ # Named with timestamp + filename
├── 20250312-145230-data.csv # Original data file (renamed)
├── analysis_report.md # Data analysis report
├── plot_config.json # Chart configuration (generated after user confirmation)
├── 20250312-145230_plot.py # Generated Python code
├── 20250312-145230_fig1_line.png # Chart (PNG image)
└── 20250312-145230_fig2_bar.png
| File Type | Naming Format | Example |
|---|---|---|
| Data File | {timestamp}-{original} | 20250312-145230-data.csv |
| Analysis Report | analysis_report.md | analysis_report.md |
| Python Code | {timestamp}_plot.py | 20250312-145230_plot.py |
| Chart PNG | {timestamp}_fig{n}_{type}.png | 20250312-145230_fig1_line.png |
When user uploads a data file:
Auto-save File
# Rename and save to output/{timestamp}-{filename}/
save_uploaded_file(input_file, output_base="output/")
Execute Data Analysis
# Analyze data characteristics, generate report
python scripts/data_analyzer.py --input output/20250312-data/data.csv
Display Analysis Report to User
## Data Analysis Report
### Data Overview
- File: data.csv
- Dimensions: 120 rows × 5 columns
- Types: 3 numeric + 2 categorical columns
### Column Details
| Column | Type | Description |
|-----|------|-----|
| date | datetime | 2023-01 to 2023-12 |
| sales | numeric | mean=1250, std=320 |
| region | categorical | 4 categories: N/S/E/W |
### Chart Recommendations
Based on data characteristics, the following schemes are recommended:
**Scheme 1: Time Trend Analysis** ⭐Recommended
- Chart Type: Line plot
- Content: Sales trend over time
- Reason: Time series data, most intuitive for showing trends
**Scheme 2: Regional Comparison**
- Chart Type: Grouped bar chart
- Content: Sales comparison across regions
- Reason: Categorical comparison, suitable for showing differences
**Scheme 3: Comprehensive Dashboard**
- Chart Type: 2×2 subplot layout
- Includes: Trend line + Bar chart + Box plot + Correlation heatmap
- Reason: Rich data dimensions, comprehensive display
Please tell me what you want:
- "Generate schemes 1 and 2"
- "Generate all"
- "Modify scheme 3..." (provide your modification suggestions)
Wait for User Confirmation ⚠️ Critical Step
Generate and Save
# Generate Python code
python scripts/plot_generator.py --config plot_config.json
# Output to same directory
output/20250312-data/
├── 20250312-145230_plot.py # Code
├── 20250312-145230_fig1_line.png # Chart
└── 20250312-145230_fig2_bar.png
python scripts/data_analyzer.py --input data.csv --output report.md
python scripts/plot_generator.py --config config.json --output-dir ./
| Data Characteristics | Recommended Chart | Application |
|---|---|---|
| Time series + Numeric | Line plot | Trend display |
| Categorical + Single numeric | Bar chart | Category comparison |
| Categorical + Distribution | Box/Violin plot | Distribution display |
| Two numeric (correlated) | Scatter (+regression) | Correlation analysis |
| Multiple numeric (correlated) | Heatmap | Correlation matrix |
| Single numeric distribution | Histogram/Density | Distribution characteristics |
| Multi-dimensional rich data | 2×2 subplots | Comprehensive display |
.csv (Recommended).xlsx, .xls.txt, .md (table format)pandas >= 1.3.0
matplotlib >= 3.5.0
seaborn >= 0.11.0
openpyxl >= 3.0.0 # Excel support
numpy >= 1.20.0
scipy >= 1.7.0