インタラクティブ・データビジュアライゼーション ― 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

仕事ではじめる機械学習 第2版

by 有賀 康顕, 中山 心太, 西林 孝

2018年の発行以来、多くの読者に支持された書籍を全面改訂! 不確実性の高い機械学習プロジェクトについて、「仕事で使う」という観点から整理するコンセプトはそのままに、初版の発行後に登場した概念や課題を取り上げます。「機械学習でいい感じにしてくれ」と突然上司に言われたとき、本書で学んだことが読者の力になるはずです。本書で得た知識は読者が「いま」困っている問題を解決する助けとなるでしょう。 第2版では、機械学習システムの開発と運用の統合する「ML Ops」、機械学習モデルを解釈し、その妥当性や根拠を明らかにする「機械学習モデルの検証」、ユーザーの行動を学習しながら予測を進める「バンディットアルゴリズム」、意思決定における予測システムの役割や意思決定のデザインを扱う「オンライン広告での機械学習」といった新章を追加しています。

book

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

by Eve Porcello, Alex Banks, 尾崎 沙耶, あんどうやすし

今日では多くのWebサービスがRESTアーキテクチャスタイルで実装されています。RESTは2000年にフィールディングの論文で提唱された後に爆発的に普及し洗練されてきました。一方で、本書で紹介するGraphQLは2015年にFacebookによって公開されたRESTとは異なるアプローチのアーキテクチャです。GraphQLの最大の特徴はクエリ言語を用いてデータを操作する点です。クエリ言語の表現力の高さによりクライアントは本当に必要なリクエストを送ることができます。本書ではGraphQLの概要とGraphQLを用いたWebサービスの開発方法を実装例に沿って紹介します。認証やファイルアップロードといった実践的なトピックまで踏み込んだGraphQLの実用的な入門書です。

book

scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

by Aurélien Géron, 下田 倫大, 長尾 高弘

本書はコードを動かしながら学び、機械学習が使えるようになることを目的とした書籍です。現実的な問題を出し、サンプルデータを示しながら、機械学習で問題を解決に導くまでの一連の手法を体系立てて解説します。深層学習以外の機械学習にはscikit-learnを使い、機械学習プロジェクトの流れ、データからモデルを学習する方法、データの処理・クリーニングなどの基礎から、特徴量の選択や過学習、データの次元削減など応用までを学びます。深層学習にはTensorFlowとKerasを使い、ニューラルネットワークの構築と訓練、ニューラルネットワークアーキテクチャ、深層学習や強化学習、さらにTensorFlowの分散処理のメカニズムや実装までを幅広く解説します。

book

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

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

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