Reputation: 687
I'm new to Knitr. I'm trying to make a report using r chunks, and I can't figure out how to use captions and labels to reference the figure later on. Here's an example of what I would like to do:
---
title: "Plotting"
author: "xx"
date: '2015-08-10'
output: pdf_document
---
```{r figs, echo=FALSE, fig.width=7, fig.height=6, fig.cap="plotting example"}
par(mfrow=c(2, 2))
plot(1:10, col=2)
plot(density(runif(100, 0.0, 1.0)))
plot(runif(100, 0.0, 1.0), type="l")
```
in Figure \ref{fig:figs} we see examples of plotting in R.
I would like to have a caption "Plotting example", and have a label, so I can use Figure \ref{fig.label} in the text. I have tried fig.cap and fig.lp, none of them works. I would appreciate if if someone can help.
Upvotes: 52
Views: 91364
Reputation: 43
I also need to caption multiple figures in the same chunk, but this doesn't work. Am I missing something? I also found a solution of typing:
fig.cap = c("caption1","caption2")
Hope that helps
Upvotes: 0
Reputation: 23788
You can achieve this by including fig_caption: yes
in the header:
---
title: "Plotting"
output:
pdf_document:
fig_caption: yes
---
```{r figs, echo=FALSE, fig.width=7,fig.height=6,fig.cap="\\label{fig:figs}plotting example"}
par(mfrow=c(2,2))
plot(1:10, col=2)
plot(density(runif(100, 0.0, 1.0)))
plot(runif(100, 0.0, 1.0),type="l")
```
in Figure \ref{fig:figs} we see examples of plotting in R.
Note that the figure caption label should be included in the caption with a double backslash, as shown above.
Upvotes: 80