目录
🧩 1. 为什么需要分面(Facet)?
🚀 2. 基础单因素分面(facet_wrap)
例子:按气缸数分开展示油耗
✨ 3. 双因素分面(facet_grid)
示例:按两列排列分面
🌈 4. 分面美学提升小技巧
(1)统一子图样式
(2)自由缩放 vs 固定比例
(3)调整标签格式
📈 5. 分面绘图综合示例(实战版)
🧠 小结:科研分面图秘籍
🔥 预告:第12讲
当你的数据包含多个分类、时间、处理组时,
如何优雅地排列展示?
—— 分面(Facet) 是科研绘图中不可或缺的利器!
这一讲,我们全面掌握:
单因素分面、双因素分面、自由缩放、多图统一美学布局技巧,
让你的图表系统性强、阅读体验极佳!
🧩 1. 为什么需要分面(Facet)?
想象你有10个处理组、3个时间点,
如果全部堆叠在一张图上,必然混乱又难看。
而分面可以做到:
✅ 清晰对比各组数据
✅ 避免线条交叠
✅ 突出局部趋势
✅ 统一风格,阅读舒适
**科研期刊图(如Nature、Science系列)**中,大量采用分面布局!
🚀 2. 基础单因素分面(facet_wrap)
例子:按气缸数分开展示油耗
library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
facet_wrap(~ cyl)
facet_wrap(~ 分组变量)
自动按照行排列,每个小图对应一个组。
🔵 常用参数:
nrow = 2
:每行2个小图
ncol = 3
:每列3个小图
scales = "free"
:各子图独立坐标轴
✨ 3. 双因素分面(facet_grid)
如果你的数据有两个分组因素,比如:
土壤类型(砂壤土、壤土、黏土)
氮肥处理(低、中、高)
就可以使用facet_grid
。
示例:按两列排列分面
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
facet_grid(gear ~ cyl)
行变量 ~ 列变量
按行列交叉布局,每一格表示一个组合
🔵 高级用法:
facet_grid(gear ~ .)
:只按行分面
facet_grid(. ~ cyl)
:只按列分面
🌈 4. 分面美学提升小技巧
分面虽然强大,但细节处理也很重要!
以下是科研绘图中常用的分面美化要点:
(1)统一子图样式
子图内点形、颜色、字体、大小一致
主题统一(推荐使用theme_bw()
、theme_minimal()
等干净主题)
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point(color = "steelblue") +
facet_wrap(~ cyl) +
theme_bw()
(2)自由缩放 vs 固定比例
scales = "free"
:每个子图自适应自己的数据范围
(适合组间差异很大时)
scales = "fixed"
(默认):统一坐标轴 (适合需要对比绝对值时)
facet_wrap(~ cyl, scales = "free")
(3)调整标签格式
有些杂志要求子图标签标准规范,如加上字母A、B、C……
可以用patchwork
或cowplot
后期加子图标签(后面讲)
或自己在facet label上用自定义函数美化
📈 5. 分面绘图综合示例(实战版)
完整实战示例:
library(ggplot2)
p <- ggplot(mtcars, aes(x = wt, y = mpg, color = factor(gear))) +
geom_point(size = 2) +
facet_wrap(~ cyl, ncol = 2, scales = "free_y") +
theme_minimal() +
labs(x = "Weight (1000 lbs)", y = "Miles per Gallon", color = "Gears") +
theme(strip.text = element_text(size = 14, face = "bold"),
axis.title = element_text(size = 12),
legend.position = "top")
print(p)
🔵 这张图特点:
按气缸数分面
自由缩放Y轴
统一主题、字体、颜色
传达信息清晰,版面整齐专业!
🧠 小结:科研分面图秘籍
情景 | 推荐方法 |
---|---|
单因素分组展示 | facet_wrap(~ var) |
双因素行列交叉展示 | facet_grid(var1 ~ var2) |
不同子图自适应坐标轴 | scales = "free" |
分面后统一美化字体、大小、颜色 | theme() 系列细调 |
✅ 分面设计是一项重要的图表专业素养,提升科研图的规范性与美观度!
🔥 预告:第12讲
下一讲,我们将正式进入
🧩 “组合多图(Patchwork)艺术——打造高质量SCI图板!”
一张图多子图布局,封面级科研插画不再遥远!
暂无评论内容