2015-11-25 17 views
5

Vorrei allineare un grafico al centro di una pagina di un documento pdf generato da knitr. Posso allineare orizzontalmente la trama al centro usando fig.align='center' ma non riesco a capire come ottenere la trama allineata verticalmente al centro.Centrare un grafico al centro di una pagina utilizzando Knitr

Sto usando il seguente codice:

--- 
header-includes: \usepackage{graphicx} 
output: 
    pdf_document 
geometry: 
    left=1in,right=1in,top=1in,bottom=1in 
--- 


```{r,fig.align='center',out.extra='angle=90', echo=FALSE} 

library(ggplot2) 
ggplot(diamonds, aes(y=carat, x=price, colour=clarity))+geom_point()+ 
facet_wrap(~cut) 

``` 

risposta

5

Sul lato LaTeX, una figura centrato verticalmente deve essere un figure with position p. Come questo può essere realizzato utilizzando knitr dipende:

  • Se la figura ha una didascalia, è collocato in un ambiente figure (vedi fig.env). Quindi è necessaria solo l'opzione aggiuntiva fig.pos = 'p'.
  • Se la cifra non ha voce (che di solito è cattivo), è possibile aggiungere manualmente il figure ambiente:

    \begin{figure}[p] 
    
    ```{r,fig.align='center',out.extra='angle=90', echo=FALSE} 
    
    library(ggplot2) 
    ggplot(diamonds, aes(y=carat, x=price, colour=clarity))+geom_point()+ 
    facet_wrap(~cut) 
    
    ``` 
    \end{figure} 
    

Nota che questo funziona durante la compilazione in formato PDF, ma si limita a PDF come uscita formato.