source

knitr을 사용하여 마크다운을 위해 로컬 이미지의 크기를 설정하는 방법은 무엇입니까?

manysource 2023. 7. 4. 21:59

knitr을 사용하여 마크다운을 위해 로컬 이미지의 크기를 설정하는 방법은 무엇입니까?

로컬 이미지가 있습니다. 여기에 포함할 이미지가 있습니다..Rmd그러면 내가 할 파일knit다음을 사용하여 HTML 슬라이드로 변환합니다.Pandoc 게시물에 따라 로컬 이미지가 삽입됩니다.
![Image Title](path/to/your/image)

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

그 질문은 오래되었지만 여전히 많은 관심을 받고 있습니다.기존 답변이 오래된 것이기 때문에 다음은 보다 최신 솔루션입니다.

로컬 이미지 크기 조정

1.12 기준으로 다음과 같은 기능이 있습니다.include_graphics.부터?include_graphics(내꺼야):

이 기능을 사용하는 주요 장점은 모든 문서 형식에 사용할 수 있다는 점에서 휴대성이 뛰어나다는 것입니다.knitr를 지원하므로 외부 이미지를 포함하기 위해 LaTeX 또는 Markdown 구문을 사용해야 하는지 여부를 고려할 필요가 없습니다.일반 R 그림에 적용되는 그래픽 출력과 관련된 청크 옵션은 및 같은 이러한 영상에도 적용됩니다.

예:

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

장점:

  • 외부 라이브러리나 이미지를 다시 래스터할 필요가 없습니다.
  • 오버 슈루티 카푸어의 대답: 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파일 확장명입니다(기본값).pngRMarkdown 문서에서).

업데이트되지 않은 답변: inknitr 1.17간단히 사용할 수 있습니다.

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

@jsb의 설명에 따라 편집

이 기능은 공백 없이만 작동합니다(예: {width=250px}, {width=250px}이(가) 아님).

다음을 사용하여 이미지를 읽을 수도 있습니다.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)
```

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

다음은 이미지를 다시 레스터하지 않고 파일을 자체 포함 상태로 유지하는 몇 가지 옵션입니다.

를 미지랩위치로 감습니다.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)

시험을 보다

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

이미지가 두 개 이상인 경우 이 두 번째 옵션에 n번째 자식 유사 선택기를 사용해야 할 수 있습니다.

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

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

높이와 너비를 지정할 수도 있습니다.

은 제 찾 옵 습 았 니 을 다 션 다 른 고knitr 1.16PDF로 뜨개질하는 경우(판독이 설치되어 있어야 함):

![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 을 참조하십시오.

제게 효과가 있었던 또 다른 옵션은 dpi 옵션을 사용하는 것입니다.knitr::include_graphics()다음과 같이:

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

물론 (수학을 하지 않는 한) 청크에서 차원을 정의하는 것과 비교하면 시행착오이지만 누군가에게 도움이 될 수도 있습니다.

knitr:: include_graphics 솔루션은 수치 크기 조정에 잘 작동했지만, 저는 이 솔루션을 사용하여 나란히 크기 조정된 수치를 생성하는 방법을 찾을 수 없었습니다.는 이 게시물이 그렇게 하는데 유용하다는 것을 알았습니다.

언급URL : https://stackoverflow.com/questions/15625990/how-to-set-size-for-local-image-using-knitr-for-markdown