如果您只是尝试将已从 R 分析中导出的图像插入到 pdf 图像中,您还可以使用 knitr 引擎中的标准图像选项。
类似的东西:
```{r, out.width="0.3\\linewidth", include=TRUE, fig.align="center", fig.cap=c("your caption"), echo=FALSE}
knitr::include_graphics("./images/imagename.pdf")
```
不幸的是,您无法指定图像输出的初始尺寸(fig.width 和 fig.height),您需要在初始输出中预先定义,但您可以在您的文档(out.width)。然而,如下所述,这仅限于按比例缩小。
如果您的文件位于同一工作目录中,您当然也可以省略初始目录规范。请注意指定图像路径时的操作系统差异。
另一种方法是使用@hermestrismegistus 在this post 上提到的 Markdown 语法:
{width=65%}
这也可以并排收集多个图像:
{width=33%}{width=33%}{width=33%}
编辑:
在更广泛地使用文本引用之后,我发现使用 r 块和 include_graphics 选项最有用。还因为图像对齐(对齐)方面的灵活性。
举个例子:
```{r image-ref-for-in-text, echo = FALSE, message=FALSE, fig.align='center', fig.cap='Some cool caption', out.width='0.75\\linewidth', fig.pos='H'}
knitr::include_graphics("./folder/folder/plot_file_name.pdf")
```
以后可以在文本中使用该引用,例如,图\@ref(fig:image-ref-for-in-text) 说明了等等。
使用这种格式需要注意的一些重要事项:
您只能通过代码块将 PDF 图像扩展至原始 .pdf 文件中设置的 out.width 和 out.height 条件。因此,我建议将它们稍微设置在原始图像中较大的一侧(请注意,任何图表文本都会相应地缩放)。
文本内参考代码(在本例中为 image-ref-for-in-text)不能包含任何下划线 (_),但可以包含短划线 (-)。您将通过一条错误消息指出! Package caption Error: \caption outside float.
知道您是否弄错了
为了阻止您的绘图漂移到文档的错误部分,但不幸的是会产生一些空白,上面的示例包括fig.pos='H'。其中H是指“持有”位置。之前的 Markdown 选项也可以通过在最后一个大括号之后立即放置句号(句点 .)来实现。
例子:
{width=75%}.
不幸的是,后一种选择会导致一些难看的句号。我更喜欢include_graphics 选项的另一个原因。