La domanda è vecchia, ma riceve ancora molta attenzione. Poiché le risposte esistenti sono obsolete, ecco una soluzione più aggiornata:
Ridimensionamento delle immagini locali
A partire da knitr
1.12 , c'è la funzione include_graphics
. Da ?include_graphics
(enfasi mia):
Il vantaggio principale dell'utilizzo di questa funzione è che è portatile nel senso che funziona per tutti i formati di documento che knitr
supporta, quindi non è necessario pensare se è necessario utilizzare, ad esempio, la sintassi LaTeX o Markdown, per incorporare un esterno Immagine. Le opzioni di blocco relative all'output grafico che funzionano per i normali grafici R funzionano anche per queste immagini, come out.width
e out.height
.
Esempio:
```{r, out.width = "400px"}
knitr::include_graphics("path/to/image.png")
```
vantaggi:
Incluse immagini generate
Per comporre il percorso di un grafico generato in un blocco (ma non incluso), possono essere utili le opzioni di blocco opts_current$get("fig.path")
(percorso alla directory della figura) e opts_current$get("label")
(etichetta del blocco corrente). L'esempio seguente usa fig.path
per includere la seconda di due immagini che sono state generate (ma non visualizzate) nel primo blocco:
```{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")))
```
Lo schema generale dei percorsi delle figure è [fig.path]/[chunklabel]-[i].[ext]
, dove si chunklabel
trova l'etichetta del blocco in cui è stato generato i
il diagramma , è l'indice del diagramma (all'interno di questo blocco) ed ext
è l'estensione del file (per impostazione predefinita png
nei documenti RMarkdown).