15.5 D3 で可視化する

R のパッケージ r2d3 (Strayer, Luraschi, and Allaire 2020) は D3 可視化のインターフェースです. このパッケージは例えば Shiny のような他のアプリケーションと同様に R Markdown 文書内で使うことができます. R Markdown 内で使うにはコードチャンクで r2d3() 関数を呼び出すか, d3 エンジンを使用することができます. 後者は D3 ライブラリと Javascript の理解が要求されますが, それは本書で扱う範囲を超えますので, 読者自身による学習に任せます. 以下は d3 エンジンで棒グラフを描く例です.

---
title: "D3 でグラフを生成する"
output: html_document
---

最初に, **r2d3** パッケージを読み込み **knitr** が自動で
`d3` エンジンをセットアップしてくれるようにします

```{r setup}
library(r2d3)
```

ここで R でデータを生成して D3 に渡してグラフを描画できます.

```{d3, data=runif(30), options=list(color='steelblue')}
svg.selectAll('rect')
  .data(data)
  .enter()
    .append('rect')
      .attr('width', function(d) { return d * 672; })
      .attr('height', '10px')
      .attr('y', function(d, i) { return i * 16; })
      .attr('fill', options.color);
```

参考文献

Strayer, Nick, Javier Luraschi, and JJ Allaire. 2020. R2d3: Interface to D3 Visualizations. https://github.com/rstudio/r2d3.