智能绘图:从数据到出版级图表
跟完这篇,您能在「百沐一下」不写一行代码,把一张整洁的数据表变成一张能投稿的图:上传数据、用一句话说清要什么图,再对着出来的图一句句地改配色、改字号、加显著性标注,直到样式达到期刊要求,最后连图带可复现代码一起导出。
绘图这件事,难的往往不是「画出来」,而是「画对、画美、改到能过审」。智能绘图把它拆成三个动作:给一张整洁表 → 一句话说要什么图 → 对着图对话式微调。下面按这条路走一遍。
| 步骤 | 您要做的 | 结果 |
|---|---|---|
| 1. 进入入口 | 点【数据分析 → 智能绘图】 | 打开绘图界面 |
| 2. 给数据 | 上传整洁表格,或选公共数据 | 数据就位 |
| 3. 说图型 | 一句话,如「按分组画表达量箱线图」 | 出第一版图 |
| 4. 改配色 | 「换成 Nature 风格 / 色盲友好配色」 | 即时重画 |
| 5. 改字号图例 | 「坐标轴字放大到 8pt,图例挪右侧」 | 即时重画 |
| 6. 加显著性 | 「组间加显著性星号,t 检验」 | 星号标上 |
| 7. 导出 | 「按单栏 89mm、矢量 PDF 导出」 | 出版级图 + 代码 |
进入「数据分析 → 智能绘图」
- 登录后,在左侧导航点【数据分析】,再点【智能绘图】。
- 进入的是一个对话式界面:上半部分放数据、看图,下半部分是输入框,您在这里用自然语言说想要什么图、想怎么改。
- 出图会消耗沐豆,界面会在开跑前给出预估,余额不足会提醒。任务失败自动全额退回沐豆,每次重画也会重新预估,可以放心多试几版。
智能绘图覆盖箱线图、柱状图、火山图、热图、生存曲线、气泡图等几十种常见图型,比较、分布、关系、占比、时序都能画。本篇以最常见的「分组箱线图 + 显著性」走一遍,其他图型的操作节奏是一样的。
上传数据:一张整洁表格就够
绘图的起点是一张整洁(tidy)表格:每行一个观测,一列放分组,一列放要画的数值。是这个形状,后面所有图都能直接套。
| sample | group | value |
|---|---|---|
| s1 | Ctrl | 12.4 |
| s2 | Ctrl | 10.9 |
| s3 | Treat | 18.2 |
| s4 | Treat | 16.7 |
两条最容易被绊倒的地方,上传前先自查:
- 别用「一组一列」的宽表。像「Ctrl、Treat 各占一列」这种宽表,先转成上面这种「分组 + 数值」的长表再画。整洁数据的更多细节见 统计方法怎么选。
- 分组列、数值列要干净。分组名前后别带多余空格,数值列别混进文字或单位;缺失值太多会让某些图画不出来。
手头没数据、或想先练手,可以直接从平台的「公共数据挖掘」选一份 TCGA / GEO 数据,或从「我的文件库」调用已上传的文件。格式细则见 上传数据的格式要求。
一句话说清「要什么图」
数据就位后,用一句「拿哪列、画什么图、怎么分组」的话,智能绘图就能出第一版。几个能直接照抄的写法:
按 group 分组,画 value 的箱线图,每组叠上散点。
画火山图,x 是 log2FoldChange,y 是 −log10(padj),标出前 10 个基因。
一句话里最好包含这三样,出来的图就贴近您想要的:
- 图型:箱线图、柱状图、火山图、热图……说清楚;拿不准时也可以让它「按这份数据推荐一种合适的图」。
- 拿哪几列:横轴、纵轴、分组分别用哪一列(如
group、value)。 - 可选偏好:要不要叠散点、要不要分面、大致配色风格。没写也行,它会用常规默认值先出一版,您再改。
第一版不必一步到位——先出个大致对的图,剩下的全靠对着图改。这也是智能绘图最省事的地方。
对着图改:配色、字号、显著性
出图后,不满意的地方直接在对话框里说,它只重画这一处,不用从头再来。这是本篇的重点,分三类最常改的说。
换配色
配色不是审美问题,是准确传达数据的问题:分类数据、连续数据该用的配色大类不同,还要考虑色盲读者。直接说风格即可:
换成 Nature 风格配色。
分组用色盲友好的定性配色。
热图改成蓝-白-红发散配色,以 0 为中点。
它交回的代码是标准写法,比如套期刊配色、或换感知均匀的连续配色:
library(ggsci)
p + scale_color_npg() # Nature 风格定性配色(分类用)
# 连续量(如热图、密度)换感知均匀、色盲友好的配色:
# p + scale_color_viridis_c()
一条经验:分类数据用定性配色(如 Okabe-Ito、期刊配色),单向连续量用
viridis,双向(含 0)用蓝-白-红发散配色。 期刊配色好看但不保证色盲友好,关键的两组对比最好再自查一遍。配色怎么选得既好看又不误导,见 科研配色与色盲友好方案。
调字号与图例
图缩到栏宽后,最先看不清的就是文字。趁早说清字号和图例位置:
坐标轴刻度和标题字放大,图例挪到右侧。
去掉图例标题,字体统一用无衬线体。
对应的标准做法是在主题里统一控制:
library(ggplot2)
p + theme_classic(base_size = 8) + # 全图基准字号,按最终尺寸调
theme(
legend.position = "right", # 图例位置
text = element_text(family = "Helvetica") # 全图统一无衬线字体
)
字号要以最终印刷尺寸衡量:正文级的字(刻度、图例)一般别小于约 6~7pt,太小印出来糊成一片。这是常见惯例、按目标期刊须知定。
加显著性标注
分组比较图上那对星号,是最常见也最容易标错的一处。直接说清「比哪几组、用什么检验」:
Ctrl 和 Treat 之间加显著性标注,用 t 检验,显示星号。
它会用标准包把星号标上(ggpubr 底层调 ggsignif):
library(ggpubr)
ggboxplot(df, x = "group", y = "value", color = "group") +
stat_compare_means(
comparisons = list(c("Ctrl", "Treat")),
method = "t.test", # 两组比较;多组两两比可列多对
label = "p.signif" # 显示星号而非具体 p 值
)
星号与 p 值的常见对应(是通行惯例,个别期刊略有出入,以目标期刊为准):
| 标记 | p 值范围 |
|---|---|
ns | p ≥ 0.05(不显著) |
* | p < 0.05 |
** | p < 0.01 |
*** | p < 0.001 |
两点别踩:检验方法要和数据匹配——两组正态用 t 检验、不满足正态用 Wilcoxon,多组用方差分析 / Kruskal-Wallis 而不是两两 t 检验反复比。方法怎么选见 统计方法怎么选。多组多次比较时记得校正 p 值,否则假阳性会偏高。星号背后是哪种检验、误差棒画什么,展开见 柱状图加显著性星号:规范做法。
改到能投稿:导出出版级图
样式满意后,把投稿规格一并说清,让它按期刊要求导出,而不是先导一张随意大小的再缩放:
按单栏 89mm 宽导出矢量 PDF,另出一份 300dpi 的 TIFF,字号不小于 7pt。
对应的标准导出(ggplot2 的 ggsave 最省事):
library(ggplot2)
# 矢量 PDF:宽=单栏 89mm,cairo_pdf 会把字体嵌进文件
ggsave("Figure1.pdf", plot = p,
width = 89, height = 70, units = "mm", device = cairo_pdf)
# 位图 TIFF:热图、含照片的图等,指定 300dpi + 无损压缩
ggsave("Figure1.tiff", plot = p,
width = 89, height = 70, units = "mm",
dpi = 300, compression = "lzw")
选格式的原则:统计图(箱线、柱、火山图、生存曲线)能矢量就矢量(PDF / EPS),放大不糊;像素图(显微、凝胶、切片)才存 TIFF,按 dpi 要求来。 分辨率、栏宽、字号、颜色模式这些硬指标怎么一次设对,见 投稿图片要求:分辨率、格式、字体。
拿到图、数据表和可复现代码
每次绘图默认交付三件套,这也是「改得动、复现得了、经得起返修」的底气:
| 交付物 | 是什么 | 拿它做什么 |
|---|---|---|
| 图形结果 | 出版级图形,矢量 / 高分辨率可选 | 下载放进论文 / 汇报 |
| 数据文件 | 作图用的整理后表格 | 核对、复用、做下游 |
| 可复现 R 代码 | 复现这张图的脚本 | 写进方法学、复核、再微调 |
您完全可以只看图;但代码在手,意味着返修时改一个参数就能重出,投稿时也拿得出「这张图怎么来的」——这正是把它放进论文的底气。想再进一步用 Illustrator 精修,导出的矢量图也能直接打开编辑。
在平台上跑一遍
上面整条路,在百沐一下就是「上传一张整洁表 + 说几句话」这么简单——不写代码,说清要什么图,再对着图一句句改配色、字号、显著性,智能绘图 即时重画,最后连出版级图形、数据表和可复现 R 代码一并交付。
👉 打开 https://app.baimuyixia.com,进【数据分析 → 智能绘图】,选好数据、描述想要的图即可开画。
相关
- 科研配色与色盲友好方案 —— 分类 / 连续该用哪类配色,怎么自查色盲友好
- 柱状图加显著性星号:规范做法 —— 误差棒画什么、星号来自哪种检验
- 投稿图片要求:分辨率、格式、字体 —— 分辨率、栏宽、字号、格式一次设对
- 智能绘图使用指南 —— 平台上的完整操作说明与常见问题