ggvisとは

こんにちは。@kohskeです。ちょっとわけあって、ggvisをいじっています。 ggvisとは、ggplot2の流れを汲んだ可視化ライブラリです。vegaの上に乗っかっていまして、 ウェブ上で可視化するのに便利です。

ggplot2とggvis

ggplot2大好きっ娘なら超簡単に使えます。概念的なマッピングは次の通りです。

ところが、ファセットが使えません。これは個人的には非常〜っに辛いです。 ハドレーは「“embedded plots”でど~よ」と言ってますが、腑に落ちません。 ファセットはそれほど強力です。ベースグラフィックってファセットあったでしょうか? っていうか複数要因のデータの可視化って、ファセットなしでどうやるんだろう?

インストール

インストールするには、いろいろ最新版を入れましょう。 ただし、shinyだけはCRAN版が必要です。

install.packages("devtools")
install.packages("shiny")
devtools::install_github(c("hadley/testthat", "rstudio/ggvis", "yihui/knitr", "rstudio/rmarkdown"))

あとRstudioを使わない場合はpandocが必要です。 Rstudioのプレビュー版にはpandocがバンドルされてるので、バッチ処理とかするんじゃなければRstudioの方が楽です。

最初の一歩

さっそく使ってみましょう。

library(ggvis)
ggvis(mtcars, props(x = ~wt, y = ~mpg)) + 
  layer_point()

おっ、右上になんか歯車のアイコンと右下にリサイズできそうなモノがあるぞ!

knitrに埋め込む

knitrに埋め込むのに特別なチャンクオプションは不要です。

 ```{r}
 library(ggvis)
 ggvis(mtcars, props(x = ~wt, y = ~mpg)) + 
   layer_point()
 ```

で、rstudioのプレビュー版でKnit HTMLするか、rmarkdown::render()します。 簡単ですね。

なおこのシンプルな仕組みはRstudio陣営の涙ぐましい努力と、保守性を著しく落とすパッケージ間の蜜月関係の上に成り立っています。 knitr <-> rmarkdown <-> ggvis の間である密約が交わされているわけですね。

(続く)


sessionInfo()
## R version 3.0.2 (2013-09-25)
## Platform: x86_64-apple-darwin10.8.0 (64-bit)
## 
## locale:
## [1] ja_JP.UTF-8/ja_JP.UTF-8/ja_JP.UTF-8/C/ja_JP.UTF-8/ja_JP.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] ggvis_0.1.0.99
## 
## loaded via a namespace (and not attached):
##  [1] assertthat_0.1   bitops_1.0-6     caTools_1.16     digest_0.6.4    
##  [5] evaluate_0.5.5   formatR_0.10     httpuv_1.2.3     knitr_1.5.32    
##  [9] Rcpp_0.11.0      RJSONIO_1.0-3    rmarkdown_0.1.93 shiny_0.9.1     
## [13] stringr_0.6.2    tools_3.0.2      whisker_0.3-2    xtable_1.7-1    
## [17] yaml_2.1.10