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での利用
参考文献
索 引
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
輿石 拓真
輿石, 拓真
今井 康貴
今井, 康貴
髙木 誠二
髙木, 誠二
和田 尚樹
和田, 尚樹
ホクソエム
株式会社ホクソエム