3

我正在使用该officedown包生成一个 Word 文档。请问,如果我想从磁盘中导入一个设计好的图形,如何控制officedown不改变图形的高宽比?

例如,我原来的图是这样的:

在此处输入图像描述

但是,在生成的Word文档中officedown,是这样的:

在此处输入图像描述

请问,如何避免失真officedown?以及如何让图形的宽度走整条线?

我的问题可以通过以下代码重现:

---
output: officedown::rdocx_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(
    echo = FALSE,
    fig.cap = TRUE,
    message = FALSE,
    warning = FALSE
)
library(officedown)
library(officer)
```

```{r}
knitr::include_graphics("the file path to a figure")
```

非常感谢您的友好指导!

4

1 回答 1

1

我做了一点实验。

对于输出:

bookdown::word_document2

...我还没有找到任何解决方案。

但对于

officedown::rdocx_document

... 建造

```{r fig.width=5, fig.height=5}
knitr::include_graphics("xxx.png") 
```

... 工作没有任何问题。


增加项:

它应该适用于您的任务:

```{r}
library(imager)
my_pic <- load.image("xxx.png")
asp_rat <- dim(my_pic)[2]/dim(my_pic)[1] #find our aspect ratio

```

```{r fig.asp = asp_rat, fig.height = ??, fig.width = ??} #choose the best for your pic
knitr::include_graphics("xxx.png") 
```

在此处输入图像描述

看,长宽比被保存了。您应该只为每种情况确定 fig.height/width 。我还没有任何想法...

于 2021-12-11T14:55:40.557 回答