Pytanie jest stare, ale wciąż poświęca się mu wiele uwagi. Ponieważ istniejące odpowiedzi są nieaktualne, tutaj bardziej aktualne rozwiązanie:
Zmiana rozmiaru obrazów lokalnych
Od knitr1.12 dostępna jest funkcja include_graphics. Od ?include_graphics(wyróżnienie moje):
Główną zaletą korzystania z tej funkcji jest to, że jest przenośna w tym sensie, że działa dla wszystkich obsługiwanych formatów dokumentów knitr, więc nie musisz zastanawiać się, czy musisz używać na przykład składni LaTeX lub Markdown, aby osadzić zewnętrzny wizerunek. Opcje fragmentów związane z wyjściem graficznym, które działają dla normalnych wykresów R, działają również dla tych obrazów, takich jak out.widthi out.height.
Przykład:
```{r, out.width = "400px"}
knitr::include_graphics("path/to/image.png")
```
Zalety:
- Nad odpowiedzią agastudy za : Nie ma potrzeby stosowania zewnętrznych bibliotek lub do ponownego rastrowy obraz.
- Odpowiedź Shruti Kapoor : Nie ma potrzeby ręcznego pisania w HTML. Poza tym obraz jest zawarty w samodzielnej wersji pliku.
W tym wygenerowane obrazy
Aby skomponować ścieżkę do wykresu, który jest generowany w porcji (ale nie jest uwzględniony), przydatne mogą być opcje porcji opts_current$get("fig.path")(ścieżka do katalogu figury), a także opts_current$get("label")(etykieta bieżącej porcji). W poniższym przykładzie fig.pathuwzględniono drugi z dwóch obrazów, które zostały wygenerowane (ale nie zostały wyświetlone) w pierwszej porcji:
```{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")))
```
Ogólny wzorzec ścieżek do rysunków to [fig.path]/[chunklabel]-[i].[ext], gdzie chunklabeljest etykietą fragmentu, w którym wygenerowano iwykres , jest indeksem wykresu (w tym fragmencie) i extjest rozszerzeniem pliku (domyślnie pngw dokumentach RMarkdown).