使用Knitr

时间:2015-11-25 17:23:14

标签: r pdf rstudio knitr

我希望将绘图与编织生成的pdf文档的页面中心对齐。我可以使用fig.align='center'将绘图水平对齐到中心,但无法弄清楚如何使绘图垂直对齐到中心。

我一直在使用以下代码:

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

```

1 个答案:

答案 0 :(得分:12)

在LaTeX方面,垂直居中的数字必须是figure with position p。如何使用knitr实现此目标取决于:

  • 如果图中有标题,则会将其置于figure环境中(请参阅fig.env)。然后只需要附加选项fig.pos = 'p'
  • 如果图中没有标题(通常是坏标题),您可以手动添加figure环境:

    \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}
    

请注意,这在编译为PDF时有效,但会将PDF限制为输出格式。