R Markdown 中实现图表的单级和多级交叉引用

交叉引用

R Markdown 目前并不支持图表的交叉引用和自动编号。如果需要,有一个解决方案是 captioner 包,而且同时支持 HTML 和 PDF。第一步当然是安装 R 包 install.packages('captioner')想要了解更多内容可访问官方教程

图片的交叉引用

示例

先上一个图片交叉引用的实例。

---
title: R markdown 交叉引用
output:
 html_document:
  theme: cerulean
---

```{r setup, include = FALSE}
library(captioner)
figureNums <- captioner(prefix = "图")
figureNums(name = "label_fastqc", caption = "碱基质量分布图")
```

FastQC 生成的碱基质量分布图是这样的,如`r figureNums(name = "label_fastqc", display = "cite")` 所示。

![`r figureNums(name = "label_fastqc")`](per_base_quality.png)

效果如下:
《R Markdown 中实现图表的单级和多级交叉引用》

用法介绍

captioner 包的主函数是 captioner()。调用这个函数会返回一个新函数,用于创建和保存图表的标题。你可以单独为图,表,或其他需要单独编号的类型分别创建一个函数。

figureNums <- captioner(prefix = "图")

该函数有个 prefix 参数,用于设置图表编号的前缀。示例代码设置为prefix = "图",得到的报告中图片的编号即为“图 1”,“图 2” 等。

调用 captioner() 函数后得到一个函数,示例中命名为 figureNums 。先用此函数创建图表对象,但不用赋值给另外的变量。这个函数有两个需要设置的参数,namecaption,即图表的标签和标题。

figureNums(name = "label_fastqc", caption = "碱基质量分布图")

创建了图表对象之后就可以在其他地方引用了。需要注意的是,创建图表对象的顺序决定了相应图表编号的顺序,越后创建的编号越大。交叉引用一般在正文,图注,表注中使用。引用也是调用 figureNums 函数,并通过 name 参数设置需要引用的图表,通过 display 参数设置引用的展示效果。

  • 正文中的引用。display = "cite" 引用的是图表的前缀、编号,效果如示例所示。符号 ` 一般位于键盘左上角,在 R Markdown 中用于放置行内代码。
`r figureNums(name = "label_fastqc", display = "cite")`
  • 图片标题中的引用。display = "full"引用的是图表的前缀、编号、标题。这也是默认引用方式,效果如示例所示。
`r figureNums(name = "label_fastqc", display = "full")`

表格的交叉引用

示例

---
title: R markdown 交叉引用
output:
 html_document:
  theme: cerulean
---

```{r setup, include = FALSE}
library(captioner)
figureNums <- captioner(prefix = "图")
tableNums <- captioner(prefix = "表")
figureNums(name = "label_fastqc", caption = "碱基质量分布图")
tableNums(name = "iris", caption = "iris 数据集")
```

FastQC 生成的碱基质量分布图是这样的,如`r figureNums(name = "label_fastqc", display = "cite")` 所示。

![`r figureNums(name = "label_fastqc")`](per_base_quality.png)

展示一下 iris 数据集(`r tableNums(name = "iris",  display = "cite")`)。

`r tableNums(name = "iris",  display = "full")`

```{r echo = FALSE}
library(knitr)
kable(head(iris))
```

效果如下所示:《R Markdown 中实现图表的单级和多级交叉引用》

用法

表格的交叉引用也分正文中的引用,表格标题中的引用。正文中表格的引用与图片的引用方法一致,表格标题中的引用会使用另外的包 DT(输出 HTML 格式)或 kablekableExtra (输出 PDF 格式)实现。

图表的多级交叉引用

待添加…

    原文作者:蓝色天猫
    原文地址: https://blog.csdn.net/qq_43292869/article/details/89249121
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞