Câu hỏi đã cũ, nhưng vẫn nhận được rất nhiều sự quan tâm. Khi các câu trả lời hiện có đã lỗi thời, đây là một giải pháp cập nhật hơn:
Thay đổi kích thước hình ảnh địa phương
Kể từ knitr
1.12 , có chức năng include_graphics
. Từ ?include_graphics
(nhấn mạnh của tôi):
Ưu điểm chính của việc sử dụng chức năng này là nó có khả năng di động theo nghĩa là nó hoạt động cho tất cả các định dạng tài liệu knitr
hỗ trợ, do đó bạn không cần phải suy nghĩ nếu bạn phải sử dụng, ví dụ, cú pháp LaTeX hoặc Markdown, để nhúng bên ngoài hình ảnh. Các tùy chọn chunk liên quan đến đầu ra đồ họa hoạt động cho các ô R bình thường cũng hoạt động cho các hình ảnh này, chẳng hạn như out.width
và out.height
.
Thí dụ:
```{r, out.width = "400px"}
knitr::include_graphics("path/to/image.png")
```
Ưu điểm:
Bao gồm các hình ảnh được tạo
Để soạn đường dẫn đến một âm mưu được tạo ra trong một đoạn (nhưng không bao gồm), các tùy chọn khối opts_current$get("fig.path")
(thư mục đường dẫn đến hình) cũng như opts_current$get("label")
(nhãn của đoạn hiện tại) có thể hữu ích. Ví dụ sau sử dụng fig.path
để bao gồm hình ảnh thứ hai trong số hai hình ảnh được tạo (nhưng không hiển thị) trong đoạn đầu tiên:
```{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")))
```
Mẫu chung của các đường dẫn hình là [fig.path]/[chunklabel]-[i].[ext]
, trong đó chunklabel
nhãn của đoạn đã tạo ra ô, i
là chỉ mục của ô (trong đoạn này) và ext
là phần mở rộng tệp (theo mặc định png
trong các tài liệu của RMarkdown).