科研绘图PPT助手(R)
面向医学与工学研究生、博士生的科研出图与学术幻灯片制作技能。所有数据绘图与PPT生成均使用 R完成,保证结果可复现、可编辑、符合期刊与答辩规范。
能力边界
能做:
- 读取 CSV / TSV / Excel(.xlsx)数据,完成统计建模与可视化
- 医学统计与配图:生存分析、Logistic/Cox 回归与森林图、差异表达火山图、聚类热图、 诊断试验 ROC、列线图、Bland-Altman 一致性分析、相关分析、分组比较图、瀑布图等
- 工学数据配图:线性/非线性拟合与置信带、实验重复数据统计、时间序列、信号/波形、 多变量散点矩阵、多面板组合、机理与流程示意图
- 生成学术 PPTX:16:9,内置简洁学术/深蓝理工/医学清新三套主题,图表实时生成嵌入
- 中英文混排,自动选择系统中可用的中文字体
不做 / 需先说明:
- 不替用户编造实验数据;无数据时只能生成带示例数据的演示图,并明确标注"示例数据"
- 单细胞、空间转录组、基因组浏览器等重型生信分析不在范围内(依赖过重)
- 不生成需要交互的网页图表;所有产出为静态图与 PPTX
- 复杂统计推断(如多水平模型、贝叶斯模型)可做但需与用户确认方法学细节
脚本文件说明(重要)
SkillHub 平台不允许分发 .R 扩展名文件,因此本包中全部 R 脚本以 .R.txt 形式存放
(内容与 .R 完全一致)。安装后先恢复文件名再使用:
# 方式一:一键恢复(推荐)
bash restore_scripts.sh
# 方式二:手动恢复
for f in scripts/*.R.txt; do cp "$f" "${f%.txt}"; done
恢复后即可按下方命令正常运行(Rscript scripts/xxx.R)。
环境要求
首次使用先运行环境检查(详见 scripts/setup_env.R):
Rscript scripts/setup_env.R check
需要 R >= 4.1。核心包(ggplot2、dplyr、tidyr、readxl、officer、flextable、patchwork、 ggprism、showtext 等)缺失时按提示安装:
Rscript scripts/setup_env.R install
医学专用包(survival、ggsurvfit、survminer、forestploter、pROC、rms、pheatmap、ggrepel、 ggVennDiagram 等)按需安装;Bioconductor 包(如 ComplexHeatmap、EnhancedVolcano)仅在用户 明确需要对应图型时安装,脚本会自动通过 BiocManager 处理。
工作流程
任务一:期刊论文配图
- 明确图型与数据:确认用户要画的图型、数据文件路径、分组/变量映射、分组比较方法 与显著性标注方式
- 确认期刊规范:优先按
references/journal-styles.md一键套用 Science / Nature / 中华医学会三系的栏宽、DPI、字体、面板标签与统计标注(fig YAML 设journal+span); 其他期刊或规范不明时按通用值:双栏 180 mm、300 DPI、TIFF+PDF、轴标签 8–10 pt - 查图型手册:在
references/medical-plots.md或references/engineering-plots.md中找到对应图型,按规范编写绘图代码 - 统一主题出图:必须使用
scripts/plot_theme.R提供的期刊主题与调色板,保证全图风格统一 - 保存与自检:通过
scripts/run.R plot保存,检查字体是否正常渲染、显著性标注是否 正确、图片分辨率是否达标
任务二:学术 PPT
- 确认场景与结构:组会 / 开题 / 中期 / 答辩 / 课题申报;确认标题、汇报人、导师、 章节与每页要点
- 选择主题:
academic(简洁黑白学术)、science-blue(深蓝理工)、medical-green(医学清新),默认 science-blue - 编写幻灯片配置 YAML:参照
templates/slide_config_example.yaml,每页指定版式、 标题、正文、图片或表格;需要的数据图直接在 figures 段中用R生成 - 生成 PPTX:通过
scripts/run.R slide调用 officer 生成 - 自检:页数与配置一致、图片不溢出、中英文不乱码、页码正确
命令入口
统一通过 scripts/run.R 调用(所有路径相对当前工作目录):
# 图型清单
Rscript scripts/run.R list-plots
# 生成单张图:
# --type km|forest|volcano|heatmap|box|violin|bar|roc|corr|nomogram|blandaltman|waterfall
# fit|timeseries|waveform|scattermatrix|multipanel|mechanism
# --data data.csv --config fig.yaml --out fig.tiff
Rscript scripts/run.R plot --type km --data surv.csv --config km.yaml --out km.tiff
# 生成PPT:
Rscript scripts/run.R slide --config slides.yaml --out report.pptx
# 演示(内置示例数据,用于验证环境)
Rscript scripts/run.R demo
--config 为 YAML 配置,字段说明见 references/plot-config.md 与
templates/slide_config_example.yaml。
文件说明
| 文件 | 用途 | 何时读取 |
|---|---|---|
| scripts/setup_env.R | 环境检查与包安装 | 首次使用或报缺包时 |
| scripts/run.R | 统一命令入口 | 每次出图/做PPT |
| scripts/plot_theme.R | 期刊主题、调色板、字体、保存函数 | 每次绘图 |
| scripts/plots_medical.R | 医学图型函数库 | 画医学图时 |
| scripts/plots_engineering.R | 工学图型函数库 | 画工学图时 |
| scripts/slides.R | PPT 生成(officer) | 做PPT时 |
| references/medical-plots.md | 医学图型手册(方法学+代码要点) | 医学图任务 |
| references/engineering-plots.md | 工学图型手册 | 工学图任务 |
| references/plot-config.md | 绘图配置字段与期刊规范 | 编写fig配置时 |
| references/journal-styles.md | Science/Nature/中华系 图表风格手册 | 投这三系期刊时 |
| templates/slide_config_example.yaml | PPT配置完整示例 | 编写slide配置时 |
| templates/themes.yaml | 三套幻灯片主题参数 | 生成PPT时 |
质量标准
- 期刊图:矢量优先(PDF/SVG)+ 300 DPI 位图;配色对色盲友好(优先 viridis /
Nature/NPG/Lancet 调色板);统计方法与图注一致;P 值标注规范(
*/**/***或 精确P值,按目标期刊要求) - PPT:每页一个核心信息;图表轴标签完整、字号在投影下可读(正文不小于18 pt, 图内文字不小于12 pt);同一份PPT配色不超过3个主色;不放与论点无关的装饰
- 统计严谨:先确认数据类型与分布再选检验方法(正态+方差齐用t检验/ANOVA,否则用 Wilcoxon/Kruskal-Wallis);多重比较做校正;图中必须能看出样本量与变异度量
Scan to join WeChat group