개요
이전 글에서는 2개 이상의 그림을 넣을 때 Markdown 문법을 사용하여 세로로 제배치하는 방법을 소개했다.
그러나 이 방법은 이미 만들어진 그림이 필요하다는 단점이 있다. 코드청크에서 직접 렌더된 그림은 {.column} 옵션을 통해 배치를 커스텀할 수 있다.
먼저 ggplot 테마를 전역설정해주자.
그 뒤 대충 아무 그림을 만들어주자.
g1 <- ggplot(data = cars, aes(x = speed, y = dist)) +
geom_point(size = 5, alpha = 0.5) +
geom_line(stat = "smooth")
g2 <- ggplot(data = iris, aes(x = Sepal.Length, y = Species)) +
geom_jitter(size = 5, alpha = 0.5, height = 0.1)
g3 <- ggplot(data = iris, aes(x = Petal.Width, y = Petal.Length)) +
geom_jitter(size = 5, alpha = 0.5, width = 0.1)2열, 3열 그림넣기
청크옵션을 layout-nrow: 1로 넣어주면 화면 크기에 따라 자동으로 정렬된다.
```{r}
#| message: false
#| layout-nrow: 1
#| dev.args: { bg: "transparent" }
print(g1); print(g2)
```

그림 3개부터는 조금 빡빡하다. 특히, 스크린 크기가 작아지면 그림이 커지는 아이러니가 발생한다.
```{r}
#| message: false
#| layout-nrow: 1
#| dev.args: { bg: "transparent" }
print(g1); print(g2); print(g3)
```


layout-ncol 옵션으로 적절히 조절해볼 수도 있지만, 좀더 세련된 옵션을 소개한다. {.column} 옵션을 통해 특정 출력물에 대해서만 body width를 일시적으로 조절할 수 있다. 이렇게:
```{r}
#| message: false
#| layout-nrow: 1
#| column: page
#| dev.args: { bg: "transparent" }
print(g1); print(g2); print(g3)
```


마무리
더욱더 넓은 옵션도 있다.
```{r}
#| message: false
#| layout-nrow: 1
#| column: screen-inset
#| dev.args: { bg: "transparent" }
print(g1); print(g2); print(g3)
```


page를 벗어나는 옵션은 아무래도 부담이다. 충격(?)을 주기에 좋은 방법인 것 같다. 본문과의 동질성을 유지해주기 위해 shaded 옵션을 넣는게 가독성 측면에서 나아보인다. 게다가 그림이 4개라면 2x2가 나을지도?
```{r}
#| message: false
#| layout-nrow: 1
#| column: screen-inset-shaded
#| dev.args: { bg: "transparent" }
print(g1); print(g2); print(g3)
```

