6.6 LaTeX で複数の図をまとめる
複数の画像を1つの画像環境に含めたいときがあるかもしれません. 複数の画像 (sub-figures, サブ図) を1つの環境に配置しそれぞれに副題を与えることで, サブ図をまとめることができます.
複数の図をまとめるには LaTeX パッケージの subfig が必要です. pdf_document
出力の YAML オプションの extra_dependencies
で読み込ませることができます. 例は以下のようになります.
---
output:
pdf_document:
extra_dependencies: "subfig"
---
あるコードチャンクからの全てのプロットを並べるためには, チャンクオプション fig.cap
(環境全体のキャプション) と fig.subcap
(サブ図のためのキャプションの文字列ベクトル) を使わなければなりません. 最良の出力を得るためには, 以下のような選択肢も使用できます.
fig.ncol
: サブ図の列の数です. デフォルトでは全てのグラフが単一の行に並べられます. これを使って複数の行に分けられます.out.width
: 個別のグラフの出力幅です. 通常はこれを100%
を列の数で割ったものに設定します. 例えば2つグラフがあるなら,out.width
は50%
以下にすべきです. そうしないとグラフはページの外枠をはみ出すかもしれません.
以下は具体例の1つです.
---
output:
pdf_document:
extra_dependencies: "subfig"
---
```{r, fig.cap='Figure 1', fig.subcap=c('(a)', '(b)', '(c)')}
plot(1:10)
plot(cars, pch = 19)
boxplot(Sepal.Width ~ Species, data = iris)
```
この出力を図6.2に示します. 簡潔にするために, 上記の例はチャンクヘッダの fig.ncol = 2
, out.width = "50%"
, fig.align = "center"
や長くなるキャプションなどのチャンクオプションをいくつか省略しています.