2015-08-10 5 views
5

Sono nuovo di Knitr. Sto cercando di creare un report usando i pezzi r, e non riesco a capire come usare le didascalie e le etichette per fare riferimento alla figura in seguito. Ecco un esempio di quello che vorrei fare:Numeri didascalie ed etichette in knitr

--- 
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. 

Vorrei avere una voce "Rappresentazione grafica ad esempio", e avere un'etichetta, quindi posso usare Figura \ ref {} nel fig.label testo. Ho provato fig.cap e fig.lp, nessuno di loro funziona. Apprezzerei se qualcuno potesse aiutare.

+1

Benvenuti in SO. La prossima volta che pubblichi una domanda cerca di includere se possibile (come in questo caso) un [esempio riproducibile] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) , comunque l'opzione "fig.cap" è quella giusta per te. Vedi [qui] (https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf) la guida completa a RMarkdown. Il tuo problema è una questione di riferimento a posteriori, ma la soluzione potrebbe variare se l'output è PDF o HTML. Ecco perché l'importanza di un esempio riproducibile. – SabDeM

risposta

11

È possibile raggiungere questo includendo fig_caption: yes nell'intestazione:

--- 
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. 

click here to see a screenshot

nota che l'etichetta didascalia cifra dovrebbe essere inclusa nella didascalia con una doppia barra rovesciata, come mostrato sopra.

+1

Grazie mille, funziona come un fascino! – Noosh

+0

Questo non ha funzionato per me, probabilmente perché sto usando VS 2017 piuttosto che RStudio. Se hai lo stesso problema di me, segui questo link per [un'elegante soluzione manuale] (https://stackoverflow.com/a/28895606/5147442) –