给出以下rmarkdown
文件:
```{r}
library(knitr)
```
```{r, out.width="100%"}
path <- "plotx.png"
knitr::include_graphics(path)
```
```{r, out.width="100%", out.height="150%"}
knitr::include_graphics(path)
```
图形之间的大小没有区别,好像图形大小选项没有任何作用。使用其他类似选项,例如fig.width
,fig.height
没有任何区别。
> sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux bullseye/sid
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/atlas/libblas.so.3.10.3
LAPACK: /usr/lib/x86_64-linux-gnu/atlas/liblapack.so.3.10.3
locale:
[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8 LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8
[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] knitr_1.29 slmisc_1.2.1 latticeExtra_0.6-29 lattice_0.20-41
loaded via a namespace (and not attached):
[1] png_0.1-7 mime_0.9 grid_4.0.2 magrittr_1.5 evaluate_0.14 highr_0.8 stringi_1.4.6 RColorBrewer_1.1-2 tools_4.0.2
[10] stringr_1.4.0 markdown_1.1 jpeg_0.1-8.1 xfun_0.16 yaml_2.2.1 compiler_4.0.2
答案 0 :(得分:1)
对于HTML输出,设置out.width="100%"
会将图像缩放到其父容器宽度的100% ,而不是图像像素的100%。这样就可以保持纵横比,从而在不失真的情况下提供最大可能的结果。设置out.width="100%"
和 out.height="150%"
会产生相同的结果。使用像素获取准确的尺寸(这可能会导致失真)。
对于LaTeX输出,无论您使用像素还是%,纵横比都将保持不变(唯一的区别是像素被视为像素,并且%被转换为\textheight
和{{1 }}。您可以使用块选项\linewidth
来防止这种情况。
示例:
来自here的图片。
out.extra='keepaspectratio=false'
乳胶和HTML :宽度= 100px,宽高比保持不变
---
title: "Untitled"
output:
html_document: default
pdf_document: default
---
LaTeX:宽高比保持不变, HTML:宽度= 700px,高度= 200px宽高比不保持不变
```{r, out.width = "100px"}
tiger <- "tiger.png"
knitr::include_graphics(tiger)
```
(左为LaTeX,右为HTML。图像缩放以并排放置。)