Rによるインタラクティブなデータビジュアライゼーション

書籍情報

発売日 : 2022年05月13日

著者/編集 : Carson Sievert/輿石 拓真/今井 康貴/高木 誠二/和田 尚樹/株式会社ホクソエム

出版社 : 共立出版

発行形態 : 単行本

書籍説明

内容紹介

Rを用いてウェブベースのインタラクティブなグラフを作成し,より高速に深くデータと対話するための手法を身につけられる一冊。

目次

1 導入
 1.1 なぜRとインタラクティブなグラフなのか
 1.2 本書で学ぶこと
 1.3 本書で学ばないこと
  1.3.1 ウェブ技術
  1.3.2 d3js
  1.3.3 ggplot2
  1.3.4 可視化によるデータ分析
  1.3.5 データ可視化のベストプラクティス
 1.4 読み進めるうえでの前提条件
 1.5 サンプルコードの実行環境
 1.6 困った時やさらに学習したい時
 1.7 謝辞
 1.8 本書のデータに関する情報


第I部 グラフの作成

2 概要
 2.1 plot_ly()の紹介
 2.2 plotly.jsの紹介
 2.3 ggplotly()の紹介

3 グラフ作成の基礎
 3.1 マーカー(散布図)
  3.1.1 アルファブレンディング(透明度)
  3.1.2 カラー(色)
  3.1.3 シンボル(形状)
  3.1.4 輪郭線(ストローク)とその幅(スパン)
  3.1.5 サイズ
  3.1.6 ドットプロットとエラーバー
 3.2 折れ線グラフ
  3.2.1 線の種類
  3.2.2 セグメント
  3.2.3 密度プロット
  3.2.4 平行座標プロット
 3.3 ポリゴン
  3.3.1 リボン

4 地図
 4.1 標準マップ
  4.1.1 概要
  4.1.2 コロプレス図
 4.2 カスタムマップ
  4.2.1 sfパッケージ
  4.2.2 カートグラム

5 棒グラフとヒストグラム
 5.1 複数の数値変数の分布
 5.2 複数の離散変数の分布

6 箱ひげ図

7 2次元ヒストグラム
 7.1 plotly.jsでビン計算を行うアプローチ
 7.2 Rでビン計算を行うアプローチ
 7.3 カテゴリ変数軸

8 3次元グラフ
 8.1 マーカー(散布図)
 8.2 パス(データの並び順に点を繋げる)
 8.3 ライン(x軸の値順に点を繋げる)
 8.4 軸の編集
 8.5 曲面


第II部 グラフのパブリッシュ

9 はじめに

10 HTMLへの保存・埋め込み

11 静止画の保存
 11.1 コードによる静止画の保存
 11.2 ブラウザを使った静止画の保存
 11.3 静止画のサイズ変更

12 静止画とその保存形式の編集


第III部 複数のグラフを用いた表現

13 複数グラフの配置
 13.1 plotlyオブジェクトの配置
  13.1.1 subplotの再帰的な結合
  13.1.2 その他のアプローチとsubplotの応用
 13.2 htmlwidgetsの配置
  13.2.1 flexdashboard
  13.2.2 Bootstrapのグリッドレイアウト
  13.2.3 CSSフレックスボックス
 13.3 グループ数の多いスモールマルチプルへの対応

14 アニメーショングラフ
 14.1 アニメーションAPI
 14.2 アニメーション化可能なグラフ


第IV部 グラフの連携

15 はじめに

16 クライアントサイドでのグラフの連携
 16.1 グラフィカルクエリ
 16.2 ハイライト vs フィルタ
 16.3 アニメーショングラフの連携
 16.4 グラフィカルクエリの実践例
  16.4.1 スモールマルチプル
  16.4.2 統計的トレースタイプの活用
  16.4.3 地理空間データ
  16.4.4 他のhtmlwidgetsとの連携
  16.4.5 一般化ペアプロット
  16.4.6 診断プロット
  16.4.7 リスト列をキーにしたグラフィカルクエリ
 16.5 グラフィカルクエリの限界

17 shinyによるサーバーサイドを使ったグラフの連携
 17.1 shinyにplotlyを組み込もう
  17.1.1 shinyの基礎
  17.1.2 renderPlotly()の詳細(非表示,サイズ調整など)
 17.2 plotly入力イベントの活用
  17.2.1 ドラッグイベント
  17.2.2 3次元グラフでのイベント
  17.2.3 編集イベント
  17.2.4 レイアウトとトレースを変更するイベント
  17.2.5 イベントソースの特定
  17.2.6 イベントによるリアクティブ式の再実行条件
  17.2.7 離散的な軸への対応
  17.2.8 イベントから得たデータの保持と管理
 17.3 アプリのパフォーマンス改善
  17.3.1 plotlyグラフの部分的な変更
  17.3.2 部分的な変更の活用例
 17.4 shinyを使った発展的なアプリケーション
  17.4.1 ドリルダウンの実装
  17.4.2 クロスフィルタの実装
  17.4.3 ドラッグ可能な範囲選択
 17.5 終わりに


第V部 JavaScriptによるイベントハンドリング

18 はじめに

19 JSONの基礎
 19.1 JavaScriptでの代入
 19.2 RオブジェクトからJSONへの変換

20 イベントハンドラを自作する

21 customdata属性の活用

22 ウェブ技術の活用
 22.1 基本的なウェブ技術の利用
 22.2 モダンなJavaScriptとReactの活用


第VI部 その他のトピック

23 plotlyは無料かつ安全に使えるのか?

24 パフォーマンスを向上させる

25 ツールチップの制御
 25.1 plot_ly()のツールチップ
 25.2 ggplotly()のツールチップ
 25.3 ツールチップのスタイルを変更

26 モードバーの制御
 26.1 モードバー全体の削除
 26.2 plotlyロゴの削除
 26.3 指定したボタンの削除
 26.4 カスタムボタンの追加
 26.5 指定したボタンのみの表示
 26.6 静止画ダウンロードボタンの詳細設定

27 色の指定方法

28 マーカーの形状とグリフ

29 グラフに画像を埋め込む

30 言語の切り替え

31 LaTeX形式の描画
 31.1 MathJaxの注意点

32 パイプ演算子による処理フローの拡張

33 ggplotly()の改善
 33.1 レイアウトの変更
 33.2 データ(トレース)の変更
 33.3 集計後データの活用

34 カスタムgeom_*()のplotlyでの利用

参考文献
索  引

著者情報

Carson Sievert
Sievert, Carson
輿石 拓真
輿石, 拓真
今井 康貴
今井, 康貴
髙木 誠二
髙木, 誠二
和田 尚樹
和田, 尚樹
ホクソエム
株式会社ホクソエム