インタラクティブ・データビジュアライゼーション ― D3.jsによるデータの可視化

Book description

D3は、ウェブページにロードしたデータからビジュアルを生成するJavaScriptベースのツールです。本書は、プログラマではない人々を対象として、D3を使ったデータビジュアライゼーションのプログラミングについて解説しています。ビジュアルのスキルはあるもののデータやコードをいじったことがないアーティストやグラフィックデザイナ、または大量のデータを持っているがビジュアルやコードを相手にしたことがないジャーナリストや研究者などには、本書が大いに役立つでしょう。もちろん、データの可視化について学びたい読者にもおすすめします。

Table of contents

  1. はじめに (1/2)
  2. はじめに (2/2)
  3. 目 次 (1/2)
  4. 目 次 (2/2)
  5. 1章 イントロダクション
    1. 1.1 なぜデータビジュアライゼーションなのか
    2. 1.2 なぜコードを書くのか
    3. 1.3 なぜ対話的にしようというのか
    4. 1.4 なぜウェブ上でなのか
    5. 1.5 この本は何なのか
    6. 1.6 この本の読者は誰なのか
    7. 1.7 この本は何ではないのか
    8. 1.8 サンプルコードの使い方
    9. 1.9 ありがとう
  6. 2章 D3とは何か
    1. 2.1 何をしてくれるのか
    2. 2.2 何をしないのか
    3. 2.3 起源と歴史
    4. 2.4 ほかのツール
      1. 2.4.1 簡単なグラフ作成
      2. 2.4.2 グラフのビジュアライゼーション
      3. 2.4.3 ジオマッピング
      4. 2.4.4 ほとんど 0から作る
      5. 2.4.5 3D
      6. 2.4.6 D3 で作られたツール
  7. 3章 技術的な基礎
    1. 3.1 ウェブ
    2. 3.2 HTML
      1. 3.2.1 コンテンツ+構造
      2. 3.2.2 要素によって構造を追加する
      3. 3.2.3 よく使われる要素
      4. 3.2.4 属性
      5. 3.2.5 クラスとID
      6. 3.2.6 コメント
    3. 3.3 DOM
    4. 3.4 デベロッパツール
    5. 3.5 レンダリングとボックスモデル
    6. 3.6 CSS
      1. 3.6.1 セレクタ
      2. 3.6.2 プロパティと値
      3. 3.6.3 コメント
      4. 3.6.4 スタイルの参照
      5. 3.6.5 継承、カスケード、限定性
    7. 3.7 JavaScript
      1. 3.7.1 Hello, Console
      2. 3.7.2 変数
      3. 3.7.3 変数のその他の型
      4. 3.7.4 配列
      5. 3.7.5 オブジェクト
      6. 3.7.6 オブジェクトと配列
      7. 3.7.7 算術演算子
      8. 3.7.8 比較演算子
      9. 3.7.9 制御構造
      10. 3.7.10 関数
      11. 3.7.11 コメント
      12. 3.7.12 スクリプトを参照する
      13. 3.7.13 JavaScript のあれこれ
    8. 3.8 SVG
      1. 3.8.1 SVG 要素
      2. 3.8.2 単純な図形
      3. 3.8.3 SVG 要素のスタイル
      4. 3.8.4 レイヤーと描画順
      5. 3.8.5 透明度
    9. 3.9 互換性についてのメモ
  8. 4章 セットアップ
    1. 4.1 D3 をダウンロードする
    2. 4.2 D3 を参照する
    3. 4.3 ウェブサーバーをセットアップする
      1. 4.3.1 Python で書かれたサーバー
      2. 4.3.2 MAMP、WAMP、LAMP
    4. 4.4 さあ始めよう
  9. 5章 データ
    1. 5.1 ウェブページの要素を生成する
      1. 5.1.1 チェイン構文
      2. 5.1.2 コードの細かい解説
      3. 5.1.3 バトン渡し
      4. 5.1.4 チェインなしに書き換える
    2. 5.2 データをバインドする
      1. 5.2.1 バインドの構成要素
      2. 5.2.2 データ
      3. 5.2.3 要素を選択して下さい
      4. 5.2.4 バインドを確認する
      5. 5.2.5 データを使う
      6. 5.2.6 無名関数
      7. 5.2.7 ハグされたがるデータ
      8. 5.2.8 テキストを越えて
  10. 6章 データによる描画
    1. 6.1 div で描画する
      1. 6.1.1 属性を設定する
      2. 6.1.2 クラスについてのコメント
      3. 6.1.3 棒グラフに戻る
      4. 6.1.4 スタイルを設定する
    2. 6.2 data() の威力
      1. 6.2.1 ランダムデータ
    3. 6.3 SVG を描画する
      1. 6.3.1 SVG を作る
      2. 6.3.2 データ駆動の図形
      3. 6.3.3 きれいな色
    4. 6.4 棒グラフを作る
      1. 6.4.1 もとのグラフ
      2. 6.4.2 新しいグラフ
      3. 6.4.3 色
      4. 6.4.4 ラベル
    5. 6.5 散布図を作る
      1. 6.5.1 データ
      2. 6.5.2 散布図
      3. 6.5.3 サイズ
      4. 6.5.4 ラベル
    6. 6.6 次のステップ
  11. 7章 スケール
    1. 7.1 りんごとピクセル
    2. 7.2 ドメインとレンジ
    3. 7.3 正規化
    4. 7.4 スケールを作る
    5. 7.5 散布図をスケーリングする
    6. 7.6 d3.min()と d3.max()
      1. 7.5.2 ダイナミックスケールをセットアップする
      2. 7.5.3 スケーリングされた値を組み込む
    7. 7.6 プロットを改良する
    8. 7.7 ほかのメソッド
    9. 7.8 その他のスケール
  12. 8章 軸
    1. 8.1 軸とは何か
    2. 8.2 軸をセットアップする
    3. 8.3 きれいな軸にする
    4. 8.4 目盛りを見直す
    5. 8.5 Y軸を追加する (1/3)
    6. 8.5 Y軸を追加する (2/3)
    7. 8.5 Y軸を追加する (3/3)
    8. 8.6 仕上げ
    9. 8.7 目盛りのラベルを操作する (1/3)
    10. 8.7 目盛りのラベルを操作する (2/3)
    11. 8.7 目盛りのラベルを操作する (3/3)
  13. 9章 更新、遷移、動き (1/3)
  14. 9章 更新、遷移、動き (2/3)
  15. 9章 更新、遷移、動き (3/3)
    1. 9.1 棒グラフをモダンに (1/3)
    2. 9.1 棒グラフをモダンに (2/3)
    3. 9.1 棒グラフをモダンに (3/3)
    4. 9.1 序数スケール (1/3)
    5. 9.1 序数スケール (2/3)
    6. 9.1 序数スケール (3/3)
      1. 9.1.2 丸めたバンドがレンジになる (1/3)
      2. 9.1.2 丸めたバンドがレンジになる (2/3)
      3. 9.1.2 丸めたバンドがレンジになる (3/3)
      4. 9.1.3 序数スケールを参照する (1/3)
      5. 9.1.3 序数スケールを参照する (2/3)
      6. 9.1.3 序数スケールを参照する (3/3)
      7. 9.1.4 その他の更新 (1/3)
      8. 9.1.4 その他の更新 (2/3)
      9. 9.1.4 その他の更新 (3/3)
    7. 9.2 データの更新
      1. 9.2.1 イベントリスナーを介したやり取り
      2. 9.2.2 データを切り替える
      3. 9.2.3 ビジュアルを更新する
    8. 9.3 遷移
      1. 9.3.1 duration():遷移にどれだけの時間をかけるか
      2. 9.3.2 ease():動きの質を決める
      3. 9.3.3 delay():始まるまで
      4. 9.3.4 データをランダム化する
      5. 9.3.5 スケールを更新する
      6. 9.3.6 軸を更新する
      7. 9.3.7 each():遷移の開始、終了時の処理 (1/2)
      8. 9.3.7 each():遷移の開始、終了時の処理 (2/2)
    9. 9.4 その他のタイプのデータ更新
      1. 9.4.1 値(及び要素)を追加する
      2. 9.4.2 値(及び要素)を削除する
      3. 9.4.3 データとキーの結合
      4. 9.4.4 追加と削除
      5. 9.4.5 復習
  16. 10章 対話的操作
    1. 10.1 イベントリスナーをバインドする
    2. 10.2 ふるまい入門
      1. 10.2.1 ホバリングによる強調表示
    3. 10.3 SVG 要素のグループ化
      1. 10.3.1 クリックしてソート
    4. 10.4 ツールチップ
      1. 10.4.1 デフォルトブラウザツールチップ
      2. 10.4.2 SVG 要素によるツールチップ
      3. 10.4.3 HTML div ツールチップ
    5. 10.5 タッチデバイスに対する配慮
    6. 10.6 さらにその先へ
  17. 11章 レイアウト
    1. 11.1 Pieレイアウト
    2. 11.2 Stackレイアウト
    3. 11.3 Forceレイアウト (1/2)
    4. 11.3 Forceレイアウト (2/2)
  18. 12章 ジオマッピング
    1. 12.1 GeoJSONについて
    2. 12.2 パス
    3. 12.3 投影法
    4. 12.4 コロプレス
    5. 12.5 点を追加する
    6. 12.5 ジオデータの獲得とパース
      1. 12.5.1 シェープファイルを見つけてくる
      2. 12.5.2 解像度の選択
      3. 12.5.3 シェープファイルの単純化
      4. 12.5.4 GeoJSONに変換する
  19. 13章 エキスポート
    1. 13.1 ビットマップ
    2. 13.2 PDF
    3. 13.3 SVG
  20. 付録 A 学習を深めるために
    1. A.1 書籍
    2. A.2 ウェブサイト
    3. A.3 Twitterのフォロー先
  21. カラー図版 (1/7)
  22. カラー図版 (2/7)
  23. カラー図版 (3/7)
  24. カラー図版 (4/7)
  25. カラー図版 (5/7)
  26. カラー図版 (6/7)
  27. カラー図版 (7/7)
  28. 索 引 (1/2)
  29. 索 引 (2/2)

Product information

  • Title: インタラクティブ・データビジュアライゼーション ― D3.jsによるデータの可視化
  • Author(s): Scott Murray, 長尾 高弘
  • Release date: February 2014
  • Publisher(s): O'Reilly Japan, Inc.
  • ISBN: 9784873116464

You might also like

book

リーンエンタープライズ ―イノベーションを実現する創発的な組織づくり

by Jez Humble, Joanne Molesky, Barry O'Reilly, 角 征典, 笹井 崇司, Eric Ries

新規事業を生み出し、顧客にすばやく価値を届けるには、それを支援する体制が必要です。本書は、あらゆるムダを省き、継続的に仮説検証を繰り返しながら、プロダクトやサービスを構築する「リーンスタートアップ」の手法を既存の企業に適用するための方法を説明します。市場環境や顧客ニーズの変化に対応し、イノベーションを加速させ、組織文化、ガバナンス、財務管理を最適化し続けるハイパフォーマンス組織になるための原則とパターンを、さまざまな成功企業のケーススタディとともに詳述します。

book

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

by Andreas C. Muller, Sarah Guido, 中田 秀基

Pythonの機械学習用ライブラリの定番、scikit-learnのリリースマネージャを務めるなど開発に深く関わる著者が、scikit-learnを使った機械学習の方法を、ステップバイステップで解説します。ニューラルネットを学ぶ前に習得しておきたい機械学習の基礎をおさえるとともに、優れた機械学習システムを実装し精度の高い予測モデルを構築する上で重要となる「特徴量エンジニアリング」と「モデルの評価と改善」について多くのページを割くなど、従来の機械学習の解説書にはない特長を備えています。

book

アルゴリズムクイックリファレンス 第2版

by George T. Heineman, Gary Pollice, Stanley Selkow, 黒川 利明, 黒川 洋

実用上、本当に速いコードを書くにはまず正しいアルゴリズムの選択から。本書は実践的側面を重視した、新しいタイプのアルゴリズム事典です。どのアルゴリズムを使うべきか、どう実装するのか、さらに性能を向上させる方法はあるのかを解説。主要な40余りのアルゴリズムを網羅し、C、C++、Java、Pythonでの実装例を示します。改訂版では、フォーチュンアルゴリズム、マージソート、マルチスレッドクイックソート、AVL平衡二分木、R木と四分木などの新たなアルゴリズムを追加。実際にベンチマークを取る手法も紹介した実際的、実践的な一冊です。

book

プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化

by Susan J. Fowler, 佐藤 直生, 長尾 高弘

UberのSRE(サイト信頼性エンジニア、サイトリライアビリティエンジニア)として、マイクロサービスの本番対応向上を担当していた著者が、その取り組みから得られた知見をまとめたものです。モノリス(一枚岩)を複数のマイクロサービスに分割した後に、安定性、信頼性、スケーラビリティ、耐障害性、パフォーマンス、監視、ドキュメント、大惨事対応を備えたシステムにするために必要な原則と標準に焦点を当て、本番対応力のあるマイクロサービスを構築する手法を紹介します。本書で採用している原則と標準は、マイクロサービスだけなく多くのサービスやアプリケーションの改善にも威力を発揮します。