2015-04-23 14 views
6

Mam dokument .Rnw, w którym chcę odnieść się do wykresu z wieloplotowego kawałka. Jak mam to zrobic?knitr: jak odwołać się do wykresu z wieloplotowego kawałka

przykład:

\documentclass{article} 
\begin{document} 

<<single_chunk, fig.cap="hi">>= 
plot(1:5) 
@ 

I can reference this single chunk fine! See \ref{fig:single_chunk}. 

<<multichunk, fig.cap="hello">>= 
plot(1:10) 
plot(10:1) 
@ 

The first figure is great, but \ref{fig:multichunk}. Try again \ref{fig:multichunk-1}. 

\end{document} 

Obie te próby spowodować ??.

Odpowiedz

3

Wystarczy rzucić okiem na wygenerowany plik * .tex! Poniżej znajduje się odpowiednia część (wziąłem swobodę w celu dostosowania go nieco bardziej estetycznie niż knit robi):

\begin{knitrout} 
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe} 
\begin{alltt} 
\hlkwd{plot}\hlstd{(}\hlnum{1}\hlopt{:}\hlnum{10}\hlstd{)} 
\end{alltt} 
\end{kframe} 
\begin{figure} 
    \includegraphics[width=\maxwidth]{figure/multichunk-1} 
    \caption[hello]{hello} 
    \label{fig:multichunk1} 
\end{figure} 

\begin{kframe}\begin{alltt} 
\hlkwd{plot}\hlstd{(}\hlnum{10}\hlopt{:}\hlnum{1}\hlstd{)} 
\end{alltt} 
\end{kframe} 
\begin{figure} 
    \includegraphics[width=\maxwidth]{figure/multichunk-2} 
    \caption[hello]{hello} 
    \label{fig:multichunk2} 
\end{figure} 

Więc, jeśli przyjrzeć się bliżej, można zauważyć, że dane multiplot są nazwane fig:multichunk1 i fig:multichunk2. I rzeczywiście, jeśli odwołasz się do nich (\ref{fig:multichunk1}, ...), wszystko działa dobrze.

Powiązane problemy