chartforge-skill

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

图表制作器 1.0

CSV/Excel → 论文级图表,13 种类型,一键导出

Python PyQt6 13 chart types 66 tests license

简介

一款面向论文写作的桌面图表工具。拖入 CSV/Excel 数据,选择图表类型,调整配色样式,实时预览后导出为出版级高清图片。

专为生态环境评价、地理学、遥感科学等领域的学术论文设计,也适用于任何需要快速生成图表的场景。

快速开始

方式一:下载 exe(Windows)

下载 图表制作器1.0.exe 双击运行,无需安装 Python。

方式二:源码运行

git clone https://github.com/SJAD-67/chartforge.git
cd chartforge
pip install -r requirements.txt
python main.py

功能

13 种图表类型

类别 图表
时空变化 折线图、面积图
统计对比 柱状图、分组柱状、堆叠柱状、箱线图、小提琴图、雷达图、环图
相关性 散点图、气泡图、热力图
综合 组合图(柱+线双Y轴)

6 套学术配色

学术蓝、自然绿、暖橙、典雅紫、学术红、灰度

导出格式

PNG / SVG / TIFF / PDF,DPI 300–1200

模板系统

保存图表配置为模板,一键套用到新数据

界面

┌── 菜单栏 + 工具栏 ──────────────────────────┐
│ 📂导入 │ 🔄生成 │ 💾保存模板 │ 📋加载 │ 🖼导出 │
├──────┬──────────────────┬───────────────────┤
│①导入 │                  │ 📈 图表类型        │
│ 拖拽 │    实时预览       │ 🎨 配色方案        │
│②数据列│                  │ 🏷 标题/轴标签     │
│③X/Y轴│                  │ 📤 DPI/格式       │
│  ☑多选│                 │                   │
├──────┴──────────────────┴───────────────────┤
│ 🟢 状态栏                                    │
└─────────────────────────────────────────────┘

Claude Code Skill

本项目包含一个 Claude Code Skill(.claude/skills/chartforge/SKILL.md),让 Claude 通过对话直接生成图表,无需打开 GUI:

"帮我画一张 EQI 变化趋势的折线图"

Skill 会在 Claude Code 启动时自动加载(仅限本项目目录)。

项目结构

chartforge/
├── main.py              # 入口
├── requirements.txt
├── app/                 # GUI 层 (PyQt6)
│   ├── main_window.py
│   ├── data_panel.py    # 数据导入 + 坐标轴映射
│   ├── preview_panel.py # matplotlib 实时预览
│   ├── config_panel.py  # 图表配置面板
│   └── toolbar.py       # 工具栏
├── core/                # 业务逻辑层
│   ├── data_loader.py   # CSV/Excel 解析
│   ├── chart_builder.py # 13 种图表构建器
│   ├── style_manager.py # 配色 + 字体管理
│   ├── exporter.py      # PNG/SVG/TIFF/PDF 导出
│   ├── template.py      # 模板系统
│   └── config_manager.py# 用户偏好持久化
├── tests/               # 66 个测试
│   └── fixtures/        # 测试数据
└── resources/           # 模板 + 字体

测试

pytest tests/ -v
# 66 passed

技术栈

  • GUI: PyQt6
  • 图表: matplotlib + seaborn
  • 数据: pandas, openpyxl
  • 打包: PyInstaller(单文件 exe, ~82MB)

作者

SJAD(SJAD-67)

许可

MIT License