Skip to main content

Rではインタラクティブな3Dプロットを作成することができますが、これをTableauに表示させる方法について紹介したいと思います。

 

以下、有名なirisの標本データの可視化です。

画面を右クリックし、新しいタブでページを開いてください。(YouTubeの動画が開きます。)

 

Rで作成した3DプロットをTableauに表示させる

 

上記のようにRで作成されたインタラクティブな3DプロットをダッシュボードにWebオブジェクトとして埋め込むことで、2Dのプロットと3Dのプロットを比較して表示させることができます。またマウスを使って、3Dのプロットの見る角度を変えたり、大きさを変更することが可能です。

 

ここでは、WebGLを利用しています。

WebGLとはウェブブラウザ上でOpenGLグラフィックスを扱うための仕組みです。 rglパッケージではwriteWebGL()関数によって3次元プロットをWebGLとして出力することができます。 HTMLファイルが作成されるので、これをウェブブラウザで開くことでインタラクティブな3次元プロットをブラウザ上で利用できるようになります。

 

こちらは以下のステップで実施しています。

 

1.RStudio で"rgl"ライブラリをインストール、読み込みます。

>install.packages("rgl")

>library(rgl)

 

2.R Studio から iris のデータを確認します。

> head (iris )

 

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species

 

1          5.1        3.5          1.4        0.2  setosa

 

2          4.9        3.0          1.4        0.2  setosa

 

3          4.7        3.2          1.3        0.2  setosa

 

4          4.6        3.1          1.5        0.2  setosa

 

5          5.0        3.6          1.4        0.2  setosa

 

6          5.4        3.9          1.7        0.4  setosa

 

3.Iris の標本データを3Dプロットで描画します。

plot3d(iris[, 1:3], col = as.numeric(iris$Species))

 

4.3次元プロットをWebGLとして出力します。

>writeWebGL(width=700, height=700)

 

5.webGLディレクトリにhtmlファイルが作成されます。

C:/Users/xxxxx/Documents/webGL/index.html

 

6.簡易Webサーバープロセスを起動します。

ここではPython 2.7をインストールして利用します。

 

c:\Python27>python -m SimpleHTTPServer 8888

Serving HTTP on 0.0.0.0 port 8888 ...

127.0.0.1 - - [01/Jan/2017 15:21:38] "GET /webGL/ HTTP/1.1" 200 -

 

7. Python のルートディレクトリに5.で作成されたHTMLファイルをweGLディレクトリごとコピーします。

 

8.ブラウザーからHTMLファイルがアクセスできることを確認します。

http://localhost:8888/webGL/

 

9.TableuのダッシュボードでWebオブジェクトを追加し、URLにhttp://localhost:8888/webGL/ を指定します。

 

Rで作成された3DのプロットとTableauで表示での可視化を融合することでより直観に訴えるレポートが作れそうですね。

 

以上、参考になれば幸いです。

0/9000