La question est ancienne, mais reçoit encore beaucoup d'attention. Les réponses existantes étant obsolètes, voici une solution plus à jour:
Redimensionner les images locales
À partir de knitr
1.12 , il y a la fonction include_graphics
. De ?include_graphics
(c'est moi qui souligne):
Le principal avantage de l'utilisation de cette fonction est qu'elle est portable dans le sens où elle fonctionne pour tous les formats de document pris en knitr
charge, vous n'avez donc pas besoin de vous demander si vous devez utiliser, par exemple, la syntaxe LaTeX ou Markdown, pour incorporer une image. Les options de bloc liées à la sortie graphique qui fonctionnent pour les tracés R normaux fonctionnent également pour ces images, telles que out.width
et out.height
.
Exemple:
```{r, out.width = "400px"}
knitr::include_graphics("path/to/image.png")
```
Avantages:
Y compris les images générées
Pour composer le chemin vers un tracé généré dans un morceau (mais non inclus), les options de morceau opts_current$get("fig.path")
(chemin vers le répertoire de la figure) ainsi que opts_current$get("label")
(étiquette du morceau actuel) peuvent être utiles. L'exemple suivant utilise fig.path
pour inclure la deuxième des deux images qui ont été générées (mais non affichées) dans le premier bloc:
```{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")))
```
Le modèle général des chemins de figure est [fig.path]/[chunklabel]-[i].[ext]
, où chunklabel
est l'étiquette du morceau où le tracé a été généré, i
est l'index du tracé (dans ce morceau) et ext
est l'extension de fichier (par défaut png
dans les documents RMarkdown).