Вопрос старый, но все же получает много внимания. Поскольку существующие ответы устарели, вот более современное решение:
Изменение размера локальных изображений
По состоянию на 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")
```
Преимущества:
- За ответом agastudy : нет необходимости во внешних библиотеках или для повторной растеризации изображения.
- За ответ Шрути Капура : не нужно писать HTML вручную. Кроме того, изображение включено в автономную версию файла.
Включая сгенерированные изображения
Для составления пути к графику, который генерируется в чанке (но не включается), могут быть полезны параметры чанка 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).