首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像脚注( Bookdown )

图像脚注( Bookdown )
EN

Stack Overflow用户
提问于 2018-02-05 17:50:12
回答 2查看 1.1K关注 0票数 1

如何在bookdown::pdf_document2中的图像下面添加一个图形注释?对于由ggplot2创建的地块来说,这是相对容易的。grid.arrange可以使用grid.arrange(<plot>, bottom = <figure_notes>)完成这项工作。但是,如果我手动插入一个图像,例如,knitr::include_graphics(rep("images/knit-logo.png", 3)),有没有办法在其中添加一个数字注释?我看到了一个knitr选项,fig.subcap。但这不能编译:

代码语言:javascript
复制
```{r fig.show="hold", fig.cap = "a", fig.subcap = "b"}

( knitr::include_graphics(rep("images/knit-logo.png",3)

代码语言:javascript
复制

这将返回:

代码语言:javascript
复制
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (MiKTeX 2.9.6350 64-bit)
entering extended mode
! Undefined control sequence.
<recently read> \subfloat 

Error: Failed to compile miniSample.tex. See miniSample.log for more info.

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-06 17:45:36

找到了一个权宜之计:

  1. magick::image_read将图像读取到R中;
  2. raster将图像转换为rasterGrob项目;
  3. textGrob创建一个便条,用grid.arrange表示;
  4. 使用grid.arrange将图像与备注一起呈现。 plot_A <- magick::image_read(<path>) %>% rasterGrob(interpolate = TRUE) note <- textGrob("This is a note.") grid.arrange(plot_A, bottom = note)
票数 0
EN

Stack Overflow用户

发布于 2018-03-03 14:21:29

如果要使用子图,则必须在subfig中加载LaTeX包。这可以通过在YAML中使用header-includes参数来完成,正如解释的here那样。

下面是一个最小的、可复制的示例,它创建一个本地图像"temp.jpg“,然后生成三个子图:

代码语言:javascript
复制
---
output: pdf_document
header-includes:
   - \usepackage{subfig}
---

```{r}

jpeg(文件名= "temp.jpg")

阴谋(汽车)

dev.off()

代码语言:javascript
复制
```{r fig.show="hold", fig.cap = "a", fig.subcap = c("Your Caption", "Another Caption", "Isn't this great"), fig.ncol = 3, out.width="33%"}

knitr::include_graphics(rep("temp.jpg",3))

代码语言:javascript
复制

查看这篇文章以获得原始描述:Subfigures or Subcaptions with knitr?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48628528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档