360 Secure SkillHub
360 安全技能中心

Pythesis Plot

该 Skill 面向学位论文与学术出版场景,接收 CSV/Excel/TXT 等数据文件后自动保存到带时间戳的输出目录,分析数据维度、类型与统计特征并推荐图表方案,等待用户确认后生成 PNG 图表与可编辑的 Python 代码,遵循统一文件命名与 300 DPI 输出规范。

stephenlzc
stephenlzc
热度 62.06
最近更新 2026-05-11 17:30:57
分类:数据依赖:代码执行 / 读写文件应用场景:数据处理 / 报告撰写 / 图像生成 / 研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add pythesis-plot
Metadata
name
pythesis-plot
description
Python 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.

PyThesisPlot

Python scientific plotting workflow tool supporting the complete process from data upload to figure generation for academic publications.

Workflow

[User Uploads Data] → [Auto-save to output dir] → [Data Analysis]
                                           ↓
[Generate Images to output dir] ← [Code Generation] ← [User Confirms Scheme]

Required Steps

  1. Data Reception: User uploads data file (txt/md/xlsx/csv)
  2. Auto-save: Rename to timestamp-original_filename, save to output/YYYYMMDD-filename/
  3. Data Analysis: Analyze dimensions, types, statistical features, column relationships
  4. Chart Recommendations: Recommend chart schemes based on data characteristics (type, quantity, layout)
  5. User Confirmation: Display analysis report, must wait for user confirmation before generation
  6. Generation & Delivery: Python code + chart images, save to same output directory

Core Scripts

1. Main Workflow Script

python scripts/workflow.py --input data.csv --output-dir output/

2. Data Analysis

python scripts/data_analyzer.py --input data.csv

Output: Data characteristics report + chart recommendation scheme

3. Chart Generation

python scripts/plot_generator.py --config plot_config.json --output-dir output/

File Management Standards

Directory Structure

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

Naming Conventions

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

Usage

Scenario 1: Complete Workflow

When user uploads a data file:

  1. Auto-save File

    # Rename and save to output/{timestamp}-{filename}/
    save_uploaded_file(input_file, output_base="output/")
    
  2. Execute Data Analysis

    # Analyze data characteristics, generate report
    python scripts/data_analyzer.py --input output/20250312-data/data.csv
    
  3. 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)
    
  4. Wait for User Confirmation ⚠️ Critical Step

    • User may say: "Generate scheme 1" / "Generate all" / "Modify XX..."
    • Must wait for explicit instruction before entering generation phase
  5. 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
    

Scenario 2: Data Analysis Only

python scripts/data_analyzer.py --input data.csv --output report.md

Scenario 3: Generate from Config

python scripts/plot_generator.py --config config.json --output-dir ./

Chart Recommendation Logic

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

Supported File Formats

  • CSV: .csv (Recommended)
  • Excel: .xlsx, .xls
  • Text: .txt, .md (table format)

Dependencies

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

Reference Documents

Important Notes

  1. User confirmation is mandatory: Must wait for user confirmation after analysis, cannot generate directly
  2. Unified file management: All output files saved to same output/{timestamp}-{filename}/ directory
  3. High-resolution output: Generate PNG at 300 DPI (suitable for publication)
  4. Code traceability: Generated Python code also saved to same directory for user modification
  5. Academic style: Charts follow top journal standards (Nature/Science/Lancet style)