5

通过在 rmarkdown ioslides 演示文稿中使用knitr::include_graphicswith 选项out.height='50px',我的机器上不会保留纵横比。有谁知道如何解决这个问题?

有趣的是,今天早上它奏效了。但不是在我安装了 R 包之后ggsn, ggmap, plotKML。后来我删除了它们,但问题仍然存在。

我使用:Ubuntu 16.04.4,R 版本 3.4.4,当前 rmarkdown

最小的例子是:

---
title: "Untitled"
author: "Me"
date: "May 24, 2018"
output: ioslides_presentation
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo =T)
```

## R Markdown
setting out.height does NOT keep aspect ratio
```{r, out.height='50px', dpi=200}
   knitr::include_graphics("rect_circ.png")
```

setting out.width keeps aspect ratio
```{r, out.width='50px', dpi=200}
knitr::include_graphics("rect_circ.png")
```

输出看起来像这样

4

2 回答 2

3

我猜你偶然安装了png包(它可能是你提到的包的依赖项)。png可用时,include_graphics()将尝试设置块选项out.width以匹配您的dpi设置。在您的情况下,您设置了out.height选项,这会导致纵横比失真的问题(自动计算的宽度为 96,而您的手动高度为 50)。

如果您在输出中有所需的图形大小,您可以调用

knitr::include_graphics("rect_circ.png", dpi = NA)

避免自动调整out.width。如果您有所需的 DPI,则应省略out.height,例如,

```{r}
knitr::include_graphics("rect_circ.png", dpi = 200)
``
于 2018-05-24T22:52:59.957 回答
1

在我的内部,我ioslides_presentation创建了一行 jpg 图形。为了让它看起来不错,我需要设置out.height选项,以便图片构建一个矩形块。通常这有效:

```{r, out.height="200px",dpi=200}
maps=c("map_1.jpg","map_2.jpg","map_3.jpg")
knitr::include_graphics(maps)
```

但是安装了png包后,图片的纵横比没有保留。应用上述更改,工作的块如下所示:

```{r, out.height="200px"}
maps=c("map_anthroms_full.jpg","map_anthroms_rangelands.jpg")
knitr::include_graphics(maps, dpi=NA)
```

注意:在范围内设置分辨率include_graphics()```{r, ...}会产生相同的错误。

于 2018-05-25T07:21:01.980 回答