本篇文章利用ggplot2包进行绘制森林图(严格意义上应该叫meta分析效应量图),关于ggplot2的基本用法这里不在叙述。
这里想用发表在SBB上的一篇meta分析文章( https://doi.org/10.1016/j.soilbio.2020.108118 )中的图作为模板,进行绘制。
[1] https://zhuanlan.zhihu.com/p/340207465
[2] Feng, J. G., Zhu, B., 2021. Global patterns and associated drivers of priming effect in response to nutrient addition. Soil Biology and Biochemistry 153, 108118. https://doi.org/10.1016/j.soilbio.2020.108118 .
森林图常见于元分析,但其使用绝不仅如此,比如我现在想要研究的对象有诸多HR结果,我想要汇总为一张图,森林图就是个非常好的选择。 ggpubr 包提供的森林图是针对变量分析绘图,我也尝试使用了 metafor 包的 forest 画图函数,但太灵活了,我除了感觉文档画的不错,但实际使用却很难得到想要的结果。
谷歌了一下,找到了 forestplot 这个包,下面根据 文档 学习一波。
安装:
森林图可以与文本连接起来并自定义。
下面是一个使用文本表的例子:
在上面基础进行增改:
我们可以修改线条类型和它所影响的范围:
为端点增加垂线:
还可以更改风格:
简单的,给超出范围的区间加箭头(clip):
这在对比时非常有用:
可以用方块、圆圈等:
添加一个基本图例:
通过设定参数可以进一步自定义:
我们可以手动设定想要的刻度
我们可以给想要的刻度加标签:
如果图形太高我们可能还需要增加辅助线以显示对应的刻度:
最后我们可以自定义想要的网格:
下面两种 structure 的书写方式是一致的:
文章作者 王诗翔
上次更新 2018-09-10
许可协议 CC BY-NC-ND 4.0