[image] markdown에 knitr를 사용하여 로컬 이미지의 크기를 설정하는 방법은 무엇입니까?

.Rmd파일 에 포함하려는 로컬 이미지가 있으며를 사용 knit하여 HTML 슬라이드로 변환합니다 Pandoc. 당 이 게시물 이 로컬 이미지를 삽입합니다 :
![Image Title](path/to/your/image)

이 코드를 수정하여 이미지 크기를 설정하는 방법이 있습니까?



답변

또한 사용하여 이미지를 읽을 수 있습니다 png예를 들어 패키지를하고 사용하여 일반 플롯처럼 플롯 grid.raster으로부터 grid패키지로 제공된다.

```{r fig.width=1, fig.height=10,echo=FALSE}
library(png)
library(grid)
img <- readPNG("path/to/your/image")
 grid.raster(img)
```

이 방법을 사용하면 이미지 크기를 완전히 제어 할 수 있습니다.


답변

문제는 오래되었지만 여전히 많은 관심을 받고 있습니다. 기존 답변이 구식이므로 여기에 최신 솔루션이 있습니다.

로컬 이미지 크기 조정

현재 knitr1.12 함수있다 include_graphics. 에서 ?include_graphics(강조 광산) :

이 기능을 사용하는 가장 큰 장점은 knitr지원 하는 모든 문서 형식에서 작동한다는 점에서 이식성이 뛰어나 므로 LaTeX 또는 Markdown 구문 등을 사용하여 외부를 임베드해야하는지 생각할 필요가 없습니다. 영상. 일반 R 플롯에 대한 작업 또한 이러한 이미지에 대한 작동하는지 그래픽 출력에 관련된 청크 옵션 out.widthout.height.

예:

```{r, out.width = "400px"}
knitr::include_graphics("path/to/image.png")
```

장점 :

  • 이상 agastudy의 대답 : 외부 라이브러리 또는 이미지를 재 래스터에 대한 필요가 없습니다.
  • Over Shruti Kapoor의 답변 : 수동으로 HTML을 작성할 필요가 없습니다. 또한 이미지는 자체 포함 파일 버전에 포함됩니다.

생성 된 이미지 포함

청크에서 생성 된 플롯 (포함되지는 않음) 의 경로를 구성하려면 청크 옵션 opts_current$get("fig.path")(그림 디렉토리의 경로) 및 opts_current$get("label")(현재 청크의 레이블)이 유용 할 수 있습니다. 다음 예제는 fig.path첫 번째 청크에서 생성되었지만 표시되지 않은 두 이미지 중 두 번째 이미지를 포함하는 데 사용 됩니다.

```{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")))
```

그림 경로의 일반적인 패턴은입니다 [fig.path]/[chunklabel]-[i].[ext]. 여기서 chunklabel플롯이 생성 된 청크의 레이블은 i플롯 인덱스 (이 청크 내)이며 ext파일 확장자 (기본적 png으로 RMarkdown 문서)입니다.


답변

업데이트되지 않은 답변 : knitr 1.17당신은 단순히 사용할 수 있습니다

![Image Title](path/to/your/image){width=250px}

@jsb의 의견에 따라 편집

공백없이 만 작동합니다 (예 : {width = 250px}가 아닌 {width = 250px}).


답변

이미지를 다시 만들지 않고 파일을 독립적으로 유지하는 옵션은 다음과 같습니다.

이미지를 div태그로 감싸기

<div style="width:300px; height:200px">
![Image](path/to/image)
</div>

스타일 시트 사용

test.Rmd

---
title: test
output: html_document
css: test.css
---

## Page with an image {#myImagePage}

![Image](path/to/image)

test.css

#myImagePage img {
  width: 400px;
  height: 200px;
}

둘 이상의 이미지가있는 경우이 두 번째 옵션에 n 번째 자식 의사 선택기를 사용해야합니다.


답변

HTML로 변환하는 경우 다음을 사용하여 HTML 구문을 사용하여 이미지의 크기를 설정할 수 있습니다.

  <img src="path/to/image" height="400px" width="300px" />

또는 높이와 너비를 지정하십시오.


답변

오늘 같은 문제 knitr 1.16가 있었고 PDF로 편직 할 때 다른 옵션을 찾았습니다 (pandoc이 설치되어 있어야 함).

![Image Title](path/to/your/image){width=70%}

이 방법을 사용하려면 약간의 시행 착오를 거쳐서 자신에게 맞는 크기를 찾으십시오. 두 개의 이미지를 나란히 놓으면 더 예쁘게 만들어 지므로 특히 편리합니다. 예를 들면 다음과 같습니다.

![Image 1](path/to/image1){width=70%}![Image 2](path/to/image2){width=30%}

창의력을 발휘하고이 두 가지를 나란히 쌓아 놓고 크기를 적절하게 맞출 수 있습니다. 더 많은 아이디어와 예제는 https://rpubs.com/RatherBit/90926 을 참조 하십시오 .


답변

나를 위해 일한 또 다른 옵션은 다음 knitr::include_graphics()과 같은 dpi 옵션으로 재생하는 것입니다 .

```{r}
knitr::include_graphics("path/to/image.png", dpi = 100)
```

… (수학을 수행하지 않는 한) 청크의 차원을 정의하는 것과 비교할 때 시행 착오이지만, 누군가에게 도움이 될 것입니다.