学术图表一键生成
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_481397b5/academic-figures。
技能介绍
学术图表制作的挑战
科研论文中的图表是数据可视化的关键,但制作符合期刊标准的图表常面临实际痛点。首先,期刊如 Nature 和 Lancet 对图表尺寸(单栏 89mm、双栏 183mm)、DPI(600 以上)、字体(如 Helvetica 7pt,最小 5pt)和配色(色盲安全)有严格规定。手工调整 matplotlib 代码以满足这些要求耗时且易错,例如手动设置栏宽、字号或配色方案。其次,数据校验缺失可能导致输出无效:系列长度不匹配、缺少必需键等错误会生成破损图表,影响投稿效率。此外,传统配色可能不适合色盲读者,降低论文的可访问性。
核心功能与工作流程
该工具通过一条命令解决上述问题,核心能力包括:
- 14 种图表类型:覆盖柱状图(
-t bar)、热力图(-t heatmap)、森林图(-t forest)、KM 生存曲线(-t km)等,通过-t参数指定,适用于多数分析场景。 - 7 套配色方案:内置
glm(默认,素雅色盲安全)、okabe-ito(Nature Methods 金标准)等,使用--theme切换。例如,--theme okabe-ito确保期刊投稿时的色盲友好性。 - 期刊预设:
--journal nature或--journal lancet自动应用官方栏宽、字号和 DPI(如 nature 双栏 183mm,字号 7pt),避免手动配置。 - 数据校验与验证:
- 运行前执行 validate_data(),检查数据结构(如 box/violin 的 labels 必须与组数匹配),致命错误(如空系列)返回 exit 1 不落盘。
- 输出 PDF 时使用 --verify 进行像素级重叠检查,防止标签遮挡。
- 中文支持:
--cjk自动检测中文字体(如 Noto Sans CJK),递归扫描数据字典键值,避免乱码。
工作流程:用户提供 JSON 数据文件,运行命令如 python gen_figure.py -t bar --theme okabe-ito --journal nature -o figure.pdf。工具依次执行数据校验、配色应用、布局调整,输出 600 DPI 的 PDF 文件,符合出版标准。
使用注意事项
- 数据格式要求:输入必须为 JSON,包含图表类型所需键值。例如,柱状图需要
series(数据数组)和labels(标签);误差棒需通过errors字段添加。 - 期刊投稿建议:投稿时优先使用
--theme okabe-ito和 PDF 输出,以满足主流期刊的色盲安全要求。避免使用nature或lancet配色方案,因其非色盲安全。 - CJK 字体问题:系统需安装中文字体(如 Noto Sans CJK),否则运行
setup_env.py自动检测和清理字体缓存。自定义字体可通过--cjk-font指定。 - 验证流程:交付 PDF 前,建议运行
scripts/audit_pdf.py检查字号是否符合期刊最小值(如 nature 5pt),并使用scripts/verify_overlap_pixel.py验证无重叠。 - 适用边界:本工具专注于学术图表生成,不适用于医学示意图(如 SVG)或终端 CLI 图表,这些有专门工具处理。流程图(
-t diagram)需避免使用白色块,以防在白底上不可见。
使用场景
- 生物医学研究员准备 Nature 论文投稿,需要一键生成符合双栏尺寸、字号和色盲安全配色的柱状图,确保数据校验通过后输出 600 DPI PDF。
- 临床数据分析团队在撰写研究论文时,要创建包含 Log-rank 检验、风险表和中位生存标注的 KM 生存曲线图,使用期刊预设以满足 Lancet 格式要求。
- 学术机构制作年度报告,需要批量生成热力图和散点图,应用统一配色方案并验证无标签重叠,确保所有图表符合内部出版标准。
- 科研导师指导学生完成毕业论文图表,要求生成流程图展示研究设计,并支持中文标签自动加载字体以避免乱码问题。
适合人员
- 生物医学研究员:需要将实验数据快速转化为符合期刊投稿标准的图表,避免手动调整尺寸、字体和配色,节省论文准备时间。
- 临床数据分析师:负责生成生存分析、ROC 曲线等统计图表,要求图表包含专业标注并输出为出版级 PDF,以支持临床研究报告撰写。
- 学术出版编辑:审阅作者投稿图表是否符合期刊指南,需要工具自动应用栏宽、字号预设并验证无重叠,提高审稿效率。
- 科研团队负责人:管理多个项目的可视化工作,需要统一配色和格式规范,避免团队成员重复配置并确保图表一致性。