我有一个本地图像,希望将其包含在.Rmd
文件中,然后将其knit
转换为HTML幻灯片Pandoc
。根据这篇文章,这将插入本地图像:
![Image Title](path/to/your/image)
有没有办法修改此代码以同时设置图像大小?
我有一个本地图像,希望将其包含在.Rmd
文件中,然后将其knit
转换为HTML幻灯片Pandoc
。根据这篇文章,这将插入本地图像:
![Image Title](path/to/your/image)
有没有办法修改此代码以同时设置图像大小?
Answers:
您也可以使用读取图像png
包,例如,绘制它像使用普通的情节grid.raster
从grid
包。
```{r fig.width=1, fig.height=10,echo=FALSE}
library(png)
library(grid)
img <- readPNG("path/to/your/image")
grid.raster(img)
```
使用此方法,您可以完全控制图像的大小。
img <- readPNG("path/to/your/image")
但是我无法编辑解决方案。
path/to/your/image
从您的问题中复制了您。是的,路径名是一个字符串,并且您需要用引号将其定义为字符串。希望我清楚。
这个问题很老,但是仍然引起很多关注。由于现有答案已过时,因此这里提供了最新的解决方案:
从knitr
1.12版本开始,有此功能include_graphics
。来自?include_graphics
(强调我的):
使用此功能的主要优点是,它可移植,因为它适用于所有
knitr
支持的文档格式,因此您无需考虑是否必须使用例如LaTeX或Markdown语法来嵌入外部文件。图片。适用于普通R图的与图形输出相关的块选项也适用于这些图像,例如out.width
和out.height
。
```{r, out.width = "400px"}
knitr::include_graphics("path/to/image.png")
```
优点:
要组合以块(但不包括在内)生成的图的路径,块选项opts_current$get("fig.path")
(图形目录的路径)以及opts_current$get("label")
(当前块的标签)可能会很有用。以下示例用于fig.path
在第一块中包含生成(但未显示)的两个图像中的第二个:
```{r generate_figures, fig.show = "hide"}
library(knitr)
plot(1:10, col = "green")
plot(1:10, col = "red")
```
```{r}
include_graphics(sprintf("%sgenerate_figures-2.png", opts_current$get("fig.path")))
```
图形路径的一般模式是[fig.path]/[chunklabel]-[i].[ext]
,其中chunklabel
是生成图的块的标签,i
是图索引(在此块内)和ext
文件扩展名(默认情况下png
在RMarkdown文档中)。
out.width='100pt'
,否则乳胶将引发有关非法计量单位的错误。
r, echo=FALSE, ...
未更新的答案:knitr 1.17
您可以简单地使用
![Image Title](path/to/your/image){width=250px}
编辑按从@jsb评论
请注意,这仅适用于没有空格的情况,例如{width = 250px}而不是{width = 250px}
{width=250px}
not {width = 250px}
。
xaringan
与使用时,这对我不起作用knitr_1.21
。
以下是一些选项,可在不重新映像的情况下保持文件自包含:
div
标签中<div style="width:300px; height:200px">
![Image](path/to/image)
</div>
---
title: test
output: html_document
css: test.css
---
## Page with an image {#myImagePage}
![Image](path/to/image)
#myImagePage img {
width: 400px;
height: 200px;
}
如果您有多个图像,则可能需要为第二个选项使用第n个子级伪选择器。
<div> ... </div>
解决方案似乎很简单。什么是style
重新缩放图像到一个固定的百分比,保持纵横比设置?
如果要转换为HTML,则可以使用以下HTML语法来设置图像的大小:
<img src="path/to/image" height="400px" width="300px" />
或您要提供的任何高度和宽度。
今天遇到了同样的问题,并knitr 1.16
在编织为PDF时找到了另一个选项(这需要安装pandoc):
![Image Title](path/to/your/image){width=70%}
此方法可能需要您反复尝试才能找到适合您的尺寸。它之所以特别方便,是因为它使并排放置两个图像更漂亮。例如:
![Image 1](path/to/image1){width=70%}![Image 2](path/to/image2){width=30%}
您可以发挥创意,将其中的一些并排放置,并根据需要调整大小。有关更多创意和示例,请参见https://rpubs.com/RatherBit/90926。
knitr :: include_graphics解决方案在调整数字大小时效果很好,但是我无法弄清楚如何使用它来生成并排调整大小的数字。我发现这篇文章对此很有帮助。