Rpres + Rchartで潰れないグラフ

@kohske
2013/12/15

Rpres + Rchart

  • HTML5上でインタラクティブなグラフが書ける。
  • (多分)CSSかJSのコンフリクトでチャートが潰れる場合がある。
  • スタイル設定( http://goo.gl/BW5bDD by @nezuqさん)でうまくいく場合もある。
    • 残念ながらダメな場合もある
  • iframe+srcdocでチャートを独立に描画することで回避
  • 現在devブランチで実装されているので、
install_github('rCharts', 'ramnathv', ref="dev")

設定

スライド用Rpres/Rmdの頭の方に

<style>
  iframe {
  height: 450px;
  width: 850px;
  }
</style>

と入れておきましょう。

rPlot CSS/JS confict

rp_obj$print(include_assets = TRUE, cdn=TRUE)

ちょっと変。

Aovid confict

rp_obj$show('iframesrc', cdn = TRUE)

ちゃんと描画されてる。

nPlot CSS/JS conflict

np_obj$print(include_assets = TRUE, cdn=TRUE)

いろいろおかしい。

Avoid conflict

np_obj$show('iframesrc', cdn = TRUE)

OK。

まとめ

  • iframe+srcdocでCSS/JSコンフリクトを回避できる。
  • srcdocはHTML5の新機能なのでブラウザのサポート具合は謎。
  • Ramnath (rCharts/slidifyの作者) はフィードバックするとすぐに取り込んでくれる。
  • HTML endocingをするライブラリを探してたら、Yihui (knitrの作者) が昔書いた遊びパッケージ fun の中にhtmlspecialcharsという関数があってびっくり http://goo.gl/HJz3kr