A questão é antiga, mas ainda recebe muita atenção. Como as respostas existentes estão desatualizadas, aqui está uma solução mais atualizada:
Redimensionando imagens locais
A partir de knitr
1.12 , existe a função include_graphics
. De ?include_graphics
(ênfase minha):
A principal vantagem do uso dessa função é que ela é portátil no sentido em que funciona para todos os formatos de documento knitr
compatíveis, portanto, você não precisa pensar se precisa usar, por exemplo, a sintaxe LaTeX ou Markdown, para incorporar uma interface externa. imagem. Opções de pedaço relacionadas à saída de gráficos que funcionam para gráficos R normais também funcionam para essas imagens, como out.width
e out.height
.
Exemplo:
```{r, out.width = "400px"}
knitr::include_graphics("path/to/image.png")
```
Vantagens:
- Sobre a resposta do agastudy : Não há necessidade de bibliotecas externas ou rasterização da imagem.
- Sobre a resposta de Shruti Kapoor : Não há necessidade de escrever manualmente HTML. Além disso, a imagem está incluída na versão independente do arquivo.
Incluindo imagens geradas
Para compor o caminho para um gráfico que é gerado em um pedaço (mas não incluído), as opções de pedaço opts_current$get("fig.path")
(caminho para o diretório de figuras) e também opts_current$get("label")
(rótulo do pedaço atual) podem ser úteis. O exemplo a seguir usa fig.path
para incluir a segunda das duas imagens que foram geradas (mas não exibidas) no primeiro pedaço:
```{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")))
```
O padrão geral dos caminhos das figuras é [fig.path]/[chunklabel]-[i].[ext]
: onde chunklabel
está o rótulo do pedaço em que a plotagem foi gerada, i
é o índice do plot (nesse pedaço) e ext
a extensão do arquivo (por padrão png
nos documentos do RMarkdown).