news 2026/10/26 2:03:17

用 Claude Code 把实验数据变成论文级图表:从一堆 CSV 到可复现的绘图脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 Claude Code 把实验数据变成论文级图表:从一堆 CSV 到可复现的绘图脚本

做实验的人大概都经历过这种场面:数据跑完了,结果文件夹里躺着几十个 CSV,离组会还有一天,图一张都没画。

更头疼的是改图。导师说"字太小"“颜色换成色盲友好的”“误差棒用标准误不要用标准差”,每改一次就要翻回去找当初那段绘图代码,而那段代码很可能写在某个早就关掉的 Jupyter 单元格里。

这篇文章讲我现在的做法:让 Claude Code 直接在项目目录里读数据、写绘图脚本、跑脚本、看结果,最后留下一个随时能重跑的plot.py。重点不是"让 AI 画图",而是让图变得可复现、好修改。

在开始之前,先分享一个我最近常用的开源工具站:Awesome Paper Research Skills(论文科研 Skills 排行榜)。

如果你平时用 Claude Code 或 Codex 做科研,不想每次都从头写规则和脚本,可以先去这个榜单里找现成的 Agent Skills。它目前收录了 115 个科研相关的开源仓库,涵盖找文献、读论文、写论文、科研绘图、实验复现和投稿审稿 6 个方向,每天自动更新 GitHub Stars 增长趋势。

像本文要讲的论文画图,直接在榜单搜索框旁点"科研绘图"快捷标签,就能筛出一批现成方案:

  • 在线排行榜:https://riceai88.github.io/awesome-paper-research-skills
  • GitHub 仓库:https://github.com/RiceAI88/awesome-paper-research-skills

先说清楚 Claude Code 是什么

Claude Code 是 Anthropic 出的命令行编程助手,装好后在终端里运行。它和网页版对话最大的区别是:它能直接读写你本地的文件,也能执行命令。

对画图这件事来说,这意味着它可以自己打开 CSV 看列名,写完脚本自己运行,报错了自己改,而不是你在网页和编辑器之间来回复制粘贴。

安装用官方脚本即可,安装后需要登录有 Claude Code 权限的账号或配置 API Key。具体套餐以官网为准,这里不展开。

curl-fsSLhttps://claude.ai/install.sh|bashcd~/research/my-experiment claude

第一步:整理目录,写一份 CLAUDE.md

Claude Code 启动时会自动读取项目根目录下的CLAUDE.md。把绘图规范写进去,以后每次对话它都会遵守,不用反复交代。

我的实验目录一般长这样:

my-experiment/ ├── CLAUDE.md ├── data/ │ ├── baseline_seed0.csv │ ├── baseline_seed1.csv │ ├── ours_seed0.csv │ └── ours_seed1.csv └── figures/

CLAUDE.md里写这些就够了:

# 绘图规范 - 只用 matplotlib,不要用 seaborn 默认主题 - 所有绘图代码写进 plot.py,不要写一次性代码 - 输出 PDF 矢量图到 figures/,同时输出 300 dpi 的 PNG 方便预览 - 字体:英文 Times New Roman,字号 9pt(双栏论文单栏宽度 3.5 英寸) - 配色用 Okabe-Ito 色盲友好色板 - 多个随机种子的结果:画均值,阴影表示标准误 - 不要修改 data/ 目录下的任何文件

最后一条很重要。数据文件是原始记录,任何工具都不该碰。

第二步:先让它看数据,别急着画

很多人一上来就说"帮我画个对比图",结果它猜错了列名或者理解错了数据含义。更稳的做法是先让它汇报数据结构:

先不要画图。读一下 data/ 下所有 CSV,告诉我: 1. 每个文件有哪些列,各有多少行 2. 不同文件的列是否一致 3. 有没有缺失值或明显异常的数值

它会自己用 pandas 打开文件并汇报。这一步经常能发现问题,比如某个种子少跑了几个 epoch,或者某一列全是 NaN。这些问题如果画完图才发现,前面的工作就白做了。

第三步:描述你要的图,让它写脚本并运行

确认数据没问题后,再提具体需求。描述得越像审稿人看图的视角越好:

写 plot.py,画训练曲线对比图: - 横轴 epoch,纵轴 val_acc - baseline 和 ours 两条线,每条是所有 seed 的均值,阴影是标准误 - 图例放右下角,不要边框 - 写完直接运行,然后告诉我 figures/ 下生成了哪些文件

它通常会先写脚本,再执行python plot.py,如果缺包或者报错会自己修。整个过程你能在终端里看到每一步,它要执行命令前会征求你的同意,看清楚再批准。

第四步:核对数字,这一步不能省

图画出来好看不代表画对了。我每次都会追加一句:

在 plot.py 里加一段:把每个方法最后一个 epoch 的均值和标准误打印出来,保留 4 位小数。

然后拿打印出来的数字,和自己实验日志里的结果对一遍。曾经遇到过它把标准差当成标准误算的情况,图上看不出来,但数字一对就露馅了。

AI 写的绘图代码,出错往往不是报错,而是"安静地算错"。这类错误只能靠人核对。

第五步:改图只改脚本

之后导师提修改意见,直接用自然语言告诉它:

导师意见:纵轴从 0.6 开始,线宽加粗到 1.5,ours 用实线 baseline 用虚线。改 plot.py 并重新运行。

因为所有逻辑都在plot.py里,改动是可追踪的。建议把项目放进 git,每次改图提交一次,哪天导师说"还是上上版好看"也能找回来。

几个容易踩的坑

  1. 中文论文要用中文字体时,记得在 CLAUDE.md 里写明字体名称,比如宋体或思源宋体,否则容易出现方框乱码。

  2. 让它"美化一下"这种模糊指令,结果往往是加一堆花哨效果。期刊要的是清楚,不是好看,需求要具体到字号、线宽、颜色。

  3. 别把整个几个 G 的原始数据目录丢给它读,先用小样本或汇总后的 CSV,省额度也省时间。

  4. 生成的图放进论文前,按期刊要求检查尺寸。很多期刊对单栏、双栏宽度有明确规定,在投稿指南里能查到。

总结

用 Claude Code 画图,真正省下的时间不在第一张图,而在后面的第五次、第十次修改。规范写进 CLAUDE.md,逻辑沉淀在 plot.py,数字自己核对一遍,这套流程换成 Codex 也同样适用。

如果你主要的卡点不在画图,而是论文正文的结构和表述,也可以试试智一刻,它更偏向中文论文写作这一侧。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/26 2:01:02

Vue知识点5-Ref + Reactive

使用Ref 为基本数据类型 创建响应式对象。通过ref函数包裹后的基本数据&#xff0c;实际就是一个RefImpl的实现了在函数中使用的话&#xff0c;取值需要通过 xxx.value 取到真实的值模板中无需使用 xxx.value&#xff0c;框架已经帮我们解析过了<template><div class&…

作者头像 李华
网站建设 2026/10/26 1:56:55

软件安全的真实压力点:别让[危险叙事]替你做判断

过去一段时间&#xff0c;开发者圈子里流传着一种「漏洞周」式叙事——某个星期里&#xff0c;从内核到浏览器、从代码托管到云平台&#xff0c;好像全都同时失守&#xff0c;仿佛整个软件生态被「打成筛子」。 这种写法读起来很刺激&#xff0c;但它最容易犯的错&#xff0c;是…

作者头像 李华
网站建设 2026/10/26 1:55:52

高精度数字振镜品牌精度排名

高精度数字振镜品牌精度排名一、设立测评擂台&#xff1a;以“微弧度级闭环精度”为核心准绳激光微加工持续向晶圆级刻蚀、医疗器件焊接、航空航天精密打标等高要求场景延伸。在这套工艺体系中&#xff0c;决定成品良率上限的核心往往不是激光器功率&#xff0c;而是振镜系统的…

作者头像 李华
网站建设 2026/10/26 1:54:24

FlowBalance 论文阅读笔记

# FlowBalance 论文阅读笔记> 论文信息:FlowBalance: Verifier‑Grounded Self‑Improvement from On‑Policy Reasoning Experience,arXiv:2609.03241 ## 一、文章主要内容总结该论文面向大模型推理任务的**自提升(self‑improvement)**问题,针对现有自提升训练循环的…

作者头像 李华