一个面向 Windows 用户的桌面画图工具:选择包含多份 Excel 的文件夹,即可将每个文件作为一个数据系列,自动叠加绘制成点图或折线图。
- 支持
.xlsx、.xlsm和.xls。 - 每个 Excel 的第一个工作表代表一组数据。
- 前两列非空列依次作为 X 值和 Y 值。
- 首行可以是表头,也可以直接是数值;程序会自动判断。
- 文件名(不含扩展名)作为图例名称。
需要 Python 3.11 或更高版本。
python -m pip install -r requirements.txt
python app.pyWindows 下也可以双击 run.bat 启动。
- 输入图表标题、X 轴标题和 Y 轴标题。
- 选择点图或折线图。
- 选择装有 Excel 数据的文件夹,查看每个文件的数据检查结果。
- 点击“生成并导出 300 DPI PNG”。
选择文件夹并完成读取后,程序会自动打开“数据汇总与实时预览”工作台:
- 多个 Excel 会汇总为一张长表,字段为数据系列、源文件、系列内行号、X 和 Y;
- 双击数据系列、X 或 Y 单元格即可修改,源文件与行号保持只读;
- 数据变化后约 250 ms 自动刷新右侧图像,同时主程序最终生成也会使用修改后的数据;
- 支持按系列筛选、新增数据行、删除所选行和重命名图例系列;
- 点击“导出汇总表”可将当前修改保存为新的
.xlsx,原始 Excel 永远不会自动覆盖; - 关闭工作台后可通过主界面的“编辑汇总数据”重新打开。
图片会自动保存到数据文件夹内的 results 子文件夹,命名格式为 标题_年月日_时分秒.png。折线图严格保持 Excel 中原始行序。
默认画布为严格的 12 × 10 cm、300 DPI:标题使用五号字(10.5 pt),其余图中文字使用小五号字(9 pt);数据点为 4 pt,折线为 1 pt,坐标框为 0.85 pt,主/次网格线分别为 0.65/0.35 pt,次刻度分为 2 段且长度为 2.2 pt。图例放在绘图区右下角,使用白底细边框且不显示图例标题;系列较多时自动切换为两列。坐标框保持四边闭合,首末主刻度与坐标轴端点对齐,并使用浅色虚线网格。
点击主界面中的“调整参数”可以打开图像参数面板。可调内容包括:
- 图像宽度、高度(厘米)与输出 DPI;
- 标题、坐标轴标题、刻度和图例字号;
- 数据点大小、折线宽度和坐标框线宽;
- 主/次网格线宽、次刻度分段数与次刻度长度;
- 是否显示淡灰色次网格线。
- 是否在成图中包含标题;关闭后标题不再必填,并自动释放顶部空间。
- 彩色或黑白模式;黑白模式会同时轮换线型和点形,适合灰度打印。
- 数据点形状库;可取消不希望使用的形状,程序会在保留的形状中循环分配。
参数会同时用于右侧预览和最终 PNG。面板提供范围校验与“恢复论文默认值”。
主刻度和次刻度线均默认朝向绘图区内部。
- 完成标题、X/Y 轴标题、图型和图像参数调整后,点击“保存设置”,输入方案名称即可保存。
- 点击“套用设置”可按名称、图型、尺寸和保存时间选择已有方案;双击也可直接套用。
- 同名设置不会静默覆盖,程序会先请求确认。
- 设置方案不保存数据文件夹,因此套用后可以自由选择新的数据集,并继续修改任何参数。
- 设置持久保存在当前 Windows 用户的
%APPDATA%\PlotLab\presets.json,关闭程序或下次启动后仍然可用。
出图采用 Times New Roman → 黑体(SimHei) 字体回退顺序。Windows 通常已包含这两种字体;如程序提示缺失,请先安装对应字体。
plotlab/
├─ app.py 应用入口
├─ excel_plotter/ GUI、数据模型、读取、编辑和绘图
├─ tests/ 自动化测试
├─ docs/ARCHITECTURE.md 架构说明
└─ requirements.txt 运行依赖
模块职责和数据流见 docs/ARCHITECTURE.md。输入工作簿、生成图片和本地预设不会进入 Git。
欢迎提交 Issue 和 Pull Request。若报告 Excel 兼容问题,请提供去除敏感数据后的最小复现文件。
本项目采用 MIT License。
