D3.js数据可视化实战手册

Book description

超过70多种创建动态数据可视化的方案!

Key Features

  • 超过70多种创建动态数据可视化的方案
  • 文字简洁,易于读者理解
  • 精挑细选,关注最重要的任务和问题
  • 细心组织,提供高效的问题解决方案
  • 讲解透彻,清晰解读每个操作步骤
  • 举一反三,将解决方案应用到其他场景

Book Description

如今这个互联网时代,人们每天都生产海量的数据,如果直接面对这些数据,可能让人无从下手。将数据可视化,用形象立体的形式将其展现,有利于分析其中的关联,攫取可能存在的商业机会。本书意图通过大量的示例和代码,向读者讲述如何利用D3.js来实现数据可视化。只要读者了解JavaScript,就能完全掌握本书的内容。

本书一共13章,从如何搭建D3.js的开发环境开始,逐步介绍D3中的各种操作,包括选集、数据的初步处理、数据映射、坐标轴组件、动画过渡效果、SVG相关介绍、绘制图表、安排布局、可视化交互、力学模拟、制作地图和测试驱动。本书包含有大量的示例和代码,可以帮助读者充分理解书中讲述的每一个概念。本书最后的附录部分,介绍了另外两个 JavaScript 库,主要是关于三维制图和多维图表的。希望本书的内容能对读者理解和学习数据可视化有所帮助。

What you will learn

  • 搭建D3.js的开发环境
  • D3中的选集
  • 数据的初步处理
  • 数据映射
  • 坐标轴组件
  • 动画过渡效果
  • SVG相关介绍
  • 绘制图表
  • 安排布局
  • 可视化交互
  • 力学模拟
  • 制作地图
  • 测试驱动

Who this book is for

本书适合那些熟悉HTML、CSS和JavaScript的开发者,通过本书介绍的知识和案例,可以充分发挥D3可视化库的强大功能。本书也可以作为有经验的数据可视化开发者的一本案头工具书和快速参考指南。

Table of contents

  1. 封面
  2. 目录
  3. 扉页
  4. 内容提要
  5. 推荐序
  6. 作者和译者简介
  7. 审核人员简介
  8. 前言
  9. 第1章 D3.js入门指南
    1. 1.1 简介
    2. 1.2 搭建一个简易的 D3开发环境
      1. 1.2.1 准备阶段
      2. 1.2.2 搭建环境
      3. 1.2.3 工作原理
      4. 1.2.4 更多内容
    3. 1.3 搭建一个基于 NPM的开发环境
      1. 1.3.1 准备阶段
      2. 1.3.2 搭建环境
      3. 1.3.3 工作原理
      4. 1.3.4 更多内容
    4. 1.4 理解 D3风格的 JavaScript
      1. 1.4.1 准备阶段
      2. 1.4.2 开始编程
      3. 1.4.3 工作原理
      4. 1.4.4 更多内容
  10. 第2章 精挑细选
    1. 2.1 简介
    2. 2.2 选择单个元素
      1. 2.2.1 准备阶段
      2. 2.2.2 开始编程
      3. 2.2.3 工作原理
    3. 2.3 选取多个元素
      1. 2.3.1 准备阶段
      2. 2.3.2 开始编程
      3. 2.3.3 工作原理
    4. 2.4 迭代选集中的元素
      1. 2.4.1 准备阶段
      2. 2.4.2 开始编程
      3. 2.4.3 工作原理
    5. 2.5 使用子选择器
      1. 2.5.1 准备阶段
      2. 2.5.2 开始编程
      3. 2.5.3 工作原理
    6. 2.6 函数级联调用
      1. 2.6.1 准备阶段
      2. 2.6.2 开始编程
      3. 2.6.3 工作原理
    7. 2.7 处理原始选集
      1. 2.7.1 准备阶段
      2. 2.7.2 开始编程
      3. 2.7.3 工作原理
  11. 第3章 与数据同行
    1. 3.1 简介
    2. 3.2 将数组绑定为数据
      1. 3.2.1 准备阶段
      2. 3.2.2 开始编程
      3. 3.2.3 工作原理
    3. 3.3 将对象字面量绑定为数据
      1. 3.3.1 准备阶段
      2. 3.3.2 开始编程
      3. 3.3.3 工作原理
    4. 3.4 将函数绑定为数据
      1. 3.4.1 准备阶段
      2. 3.4.2 开始编程
      3. 3.4.3 工作原理
    5. 3.5 如何处理数组
      1. 3.5.1 准备阶段
      2. 3.5.2 开始编程
      3. 3.5.3 工作原理
    6. 3.6 数据的过滤
      1. 3.6.1 准备阶段
      2. 3.6.2 开始编程
      3. 3.6.3 工作原理
    7. 3.7 基于数据的图形排序
      1. 3.7.1 准备阶段
      2. 3.7.2 开始编程
      3. 3.7.3 工作原理
    8. 3.8 从服务器加载数据
      1. 3.8.1 准备阶段
      2. 3.8.2 开始编程
      3. 3.8.3 工作原理
  12. 第4章 张弛有“度”
    1. 4.1 介绍
    2. 4.2 使用数值尺度
      1. 4.2.1 准备阶段
      2. 4.2.2 开始编程
      3. 4.2.3 工作原理
      4. 4.2.4 更多内容
    3. 4.3 使用时间尺度
      1. 4.3.1 准备阶段
      2. 4.3.2 开始编程
      3. 4.3.3 工作原理
      4. 4.3.4 更多内容
      5. 4.3.5 请参见
    4. 4.4 使用有序尺度
      1. 4.4.1 准备阶段
      2. 4.4.2 开始编程
      3. 4.4.3 工作原理
    5. 4.5 字符串插值
      1. 4.5.1 插值器
      2. 4.5.2 准备阶段
      3. 4.5.3 开始编程
      4. 4.5.4 工作原理
      5. 4.5.5 更多内容
    6. 4.6 颜色插值
      1. 4.6.1 准备阶段
      2. 4.6.2 开始编程
      3. 4.6.3 工作原理
      4. 4.6.4 请参见
    7. 4.7 复合对象插值
      1. 4.7.1 准备阶段
      2. 4.7.2 开始编程
      3. 4.7.3 工作原理
    8. 4.8 实现自定义插值器
      1. 4.8.1 准备阶段
      2. 4.8.2 开始编程
      3. 4.8.3 工作原理
      4. 4.8.4 请参见
  13. 第5章 玩转坐标轴
    1. 5.1 简介
    2. 5.2 坐标轴基础
      1. 5.2.1 准备阶段
      2. 5.2.2 开始编程
      3. 5.2.3 工作原理
    3. 5.3 自定义刻度
      1. 5.3.1 准备阶段
      2. 5.3.2 开始编程
      3. 5.3.3 工作原理
    4. 5.4 绘制表格线
      1. 5.4.1 准备阶段
      2. 5.4.2 开始编程
      3. 5.4.3 工作原理
    5. 5.5 动态调节坐标轴尺度
      1. 5.5.1 准备阶段
      2. 5.5.2 开始编程
      3. 5.5.3 工作原理
  14. 第6章 优雅变换
    1. 6.1 简介
    2. 6.2 单元素动画效果
      1. 6.2.1 准备阶段
      2. 6.2.2 开始编程
      3. 6.2.3 工作原理
    3. 6.3 多元素动画
      1. 6.3.1 准备阶段
      2. 6.3.2 开始编程
      3. 6.3.3 工作原理
    4. 6.4 使用缓动函数
      1. 6.4.1 准备阶段
      2. 6.4.2 开始编程
      3. 6.4.3 工作原理
    5. 6.5 使用中间帧计算
      1. 6.5.1 准备阶段
      2. 6.5.2 开始编程
      3. 6.5.3 工作原理
      4. 6.5.4 更多内容
    6. 6.6 使用级联过渡
      1. 6.6.1 准备阶段
      2. 6.6.2 开始编程
      3. 6.6.3 工作原理
    7. 6.7 使用选择性过渡
      1. 6.7.1 准备阶段
      2. 6.7.2 开始编程
      3. 6.7.3 工作原理
      4. 6.7.4 请参见
    8. 6.8 监听过渡事件
      1. 6.8.1 准备阶段
      2. 6.8.2 开始编程
      3. 6.8.3 工作原理
    9. 6.9 实现自定义插值器
      1. 6.9.1 准备阶段
      2. 6.9.2 开始编程
      3. 6.9.3 工作原理
    10. 6.10 使用定时器
      1. 6.10.1 准备阶段
      2. 6.10.2 开始编程
      3. 6.10.3 工作原理
      4. 6.10.4 请参见
  15. 第7章 形状之美
    1. 7.1 简介
      1. 7.1.1 什么是SVG?
      2. 7.1.2 矢量
      3. 7.1.3 可伸缩性
    2. 7.2 创建简单形状
      1. 7.2.1 准备阶段
      2. 7.2.2 开始编程
      3. 7.2.3 工作原理
      4. 7.2.4 更多内容
      5. 7.2.5 请参见
    3. 7.3 使用线条生成器
      1. 7.3.1 准备阶段
      2. 7.3.2 开始编程
      3. 7.3.3 工作原理
      4. 7.3.4 请参见
    4. 7.4 使用线条插值
      1. 7.4.1 准备阶段
      2. 7.4.2 开始编程
      3. 7.4.3 工作原理
    5. 7.5 更改线条的张力
      1. 7.5.1 准备阶段
      2. 7.5.2 开始编程
      3. 7.5.3 工作原理
    6. 7.6 使用区域生成器
      1. 7.6.1 准备阶段
      2. 7.6.2 开始编程
      3. 7.6.3 工作原理
    7. 7.7 使用区域插值
      1. 7.7.1 准备阶段
      2. 7.7.2 开始编程
      3. 7.7.3 工作原理
      4. 7.7.4 更多内容
      5. 7.7.5 请参见
    8. 7.8 使用圆弧生成器
      1. 7.8.1 准备阶段
      2. 7.8.2 开始编程
      3. 7.8.3 工作原理
    9. 7.9 实现圆弧过渡
      1. 7.9.1 准备阶段
      2. 7.9.2 开始编程
      3. 7.9.3 工作原理
      4. 7.9.4 更多内容
      5. 7.9.5 请参见
  16. 第8章 图表美化
    1. 8.1 简介
    2. 8.2 创建线图
      1. 8.2.1 准备工作
      2. 8.2.2 开始编程
      3. 8.2.3 工作原理
    3. 8.3 创建面积图
      1. 8.3.1 准备工作
      2. 8.3.2 开始编程
      3. 8.3.3 工作原理
    4. 8.4 创建散点图
      1. 8.4.1 准备工作
      2. 8.4.2 开始编程
      3. 8.4.3 工作原理
    5. 8.5 创建气泡图
      1. 8.5.1 准备工作
      2. 8.5.2 开始编程
      3. 8.5.3 工作原理
    6. 8.6 创建条形图
      1. 8.6.1 准备工作
      2. 8.6.2 开始编程
      3. 8.6.3 工作原理
      4. 8.6.4 请参见
  17. 第9章 井然有序
    1. 9.1 简介
    2. 9.2 创建饼图
      1. 9.2.1 准备阶段
      2. 9.2.2 开始编程
      3. 9.2.3 工作原理
      4. 9.2.4 更多内容
      5. 9.2.5 请参见
    3. 9.3 创建堆叠面积图
      1. 9.3.1 准备阶段
      2. 9.3.2 开始编程
      3. 9.3.3 工作原理
      4. 9.3.4 更多内容
      5. 9.3.5 请参见
    4. 9.4 创建矩形式树状结构图
      1. 9.4.1 准备阶段
      2. 9.4.2 开始编程
      3. 9.4.3 工作原理
      4. 9.4.4 请参见
    5. 9.5 创建树
      1. 9.5.1 准备阶段
      2. 9.5.2 开始编程
      3. 9.5.3 工作原理
      4. 9.5.4 请参见
    6. 9.6 创建封闭图
      1. 9.6.1 准备阶段
      2. 9.6.2 开始编程
      3. 9.6.3 工作原理
      4. 9.6.4 请参见
  18. 第10章 可视化交互
    1. 10.1 简介
    2. 10.2 与鼠标事件交互
      1. 10.2.1 准备阶段
      2. 10.2.2 开始编程
      3. 10.2.3 工作原理
      4. 10.2.4 更多内容
      5. 10.2.5 请参见
    3. 10.3 多点触摸设备交互
      1. 10.3.1 准备阶段
      2. 10.3.2 开始编程
      3. 10.3.3 工作原理
      4. 10.3.4 更多内容
      5. 10.3.5 请参见
    4. 10.4 实现缩放和平移行为
      1. 10.4.1 准备阶段
      2. 10.4.2 开始编程
      3. 10.4.3 工作原理
      4. 10.4.4 更多内容
      5. 10.4.5 请参见
    5. 10.5 实现拖曳行为
      1. 10.5.1 准备阶段
      2. 10.5.2 开始编程
      3. 10.5.3 工作原理
      4. 10.5.4 更多内容
      5. 10.5.5 请参见
  19. 第11章 使用“原力”!
    1. 11.1 简介
    2. 11.2 使用引力和相互作用力
      1. 11.2.1 准备阶段
      2. 11.2.2 开始编程
      3. 11.2.3 工作原理
      4. 11.2.4 请参见
    3. 11.3 生成动量
      1. 11.3.1 准备阶段
      2. 11.3.2 开始编程
      3. 11.3.3 工作原理
      4. 11.3.4 请参见
    4. 11.4 设置连接约束
      1. 11.4.1 准备阶段
      2. 11.4.2 开始编程
      3. 11.4.3 工作原理
      4. 11.4.4 请参见
    5. 11.5 借助力来辅助可视化
      1. 11.5.1 准备阶段
      2. 11.5.2 开始编程
      3. 11.5.3 工作原理
      4. 11.5.4 请参见
    6. 11.6 操作“力”
      1. 11.6.1 准备阶段
      2. 11.6.2 开始编程
      3. 11.6.3 工作原理
      4. 11.6.4 请参见
    7. 11.7 创建力导向图
      1. 11.7.1 准备阶段
      2. 11.7.2 开始编程
      3. 11.7.3 工作原理
      4. 11.7.4 请参见
  20. 第12章 地图的奥秘
    1. 12.1 简介
    2. 12.2 美国地图的投影
      1. 12.2.1 GeoJSON
      2. 12.2.2 准备阶段
      3. 12.2.3 开始编程
      4. 12.2.4 工作原理
      5. 12.2.5 请参见
    3. 12.3 世界地图的投射
      1. 12.3.1 准备阶段
      2. 12.3.2 开始编程
      3. 12.3.3 工作原理
      4. 12.3.4 请参见
    4. 12.4 构建等值区域图
      1. 12.4.1 准备阶段
      2. 12.4.2 开始编程
      3. 12.4.3 工作原理
      4. 12.4.4 请参见
  21. 第13章 测试驱动
    1. 13.1 简介
    2. 13.2 下载 Jasmine并搭建测试环境
      1. 13.2.1 准备阶段
      2. 13.2.2 开始编程
      3. 13.2.3 工作原理
      4. 13.2.4 请参见
    3. 13.3 测试驱动—创建图表
      1. 13.3.1 开始编程
      2. 13.3.2 工作原理
    4. 13.4 测试驱动—SVG渲染
      1. 13.4.1 开始编程
      2. 13.4.2 工作原理
    5. 13.5 测试驱动—精确渲染
      1. 13.5.1 开始编程
      2. 13.5.2 工作原理
      3. 13.5.3 请参见
  22. 附录:快速创建交互式分析
    1. 简介
    2. Crossfilter.js库
      1. 开始编程
      2. 工作原理
      3. 更多内容
      4. 请参见
    3. 多维图表库——dc.js
      1. 准备阶段
      2. 开始编程
      3. 工作原理
      4. 更多内容
      5. 请参见
  23. 版权

Product information

  • Title: D3.js数据可视化实战手册
  • Author(s): Posts & Telecom Press, Nick Zhu
  • Release date: May 2024
  • Publisher(s): Packt Publishing
  • ISBN: 9781836201939

You might also like

book

移动端机器学习实战

by Posts & Telecom Press, Karthikeyan NG

系统介绍机器学习在移动端应用程序开发中的应用,讲述如何使用TensorFlow Lite 和Core ML开发Android与iOS应用程序 Key Features 介绍如何开发7款常见应用程序 讨论基于机器学习的云服务 Book Description 机器学习主要研究如何使计算机模拟或实现人类的学习行为,从而获取新的知识或技能,是人工智能领域的核心技术。基于机器学习开发的应用程序可以灵活地处理新数据。本书将展示如何将机器学习技术应用于移动端的应用程序开发中。 本书首先介绍TensorFlow Lite和Core ML的基础知识,然后讲述7个常见应用程序的开发,最后讨论基于机器学习的云服务。通过本书,读者可以学会如何开发一个预测年龄和性别的应用程序,如何对图片进行艺术风格迁移,如何实现面部检测和条形码扫描,如何构建一个用于美化的AR滤镜,如何在移动设备上检测手写的数字,如何实现可以换脸的应用程序,如何利用迁移学习对食物进行分类。 本书有助于读者掌握机器学习的概念,学会使用TensorFlow Lite和Core …

book

Prometheus学习手册

by Brian Brazil

快来使用Prometheus,Prometheus是基于指标的监控系统,为成千上万的组织在生产环境中提供服务。这本实用指南为应用开发人员、系统管理人员和DevOps人员提供了关于Prometheus关键部分的相关介绍,包括基础设施和应用的监控、仪表盘显示、告警、代码测控,以及如何通过导出器获取第三方的指标。 这个开源系统在过去几年中变得流行是有原因的。基于它简单而强大的数据模型和查询语句,Prometheus专注于监控这一件事情并将其做到了极致。本书的作者同时也是Prometheus的开发人员Brian Brazil将会带着你学习 Prometheus配置、节点导出器、 Alertmanager,以及如何对应用和基础设施进行监控。 了解对你的应用程序代码进行测控的位置以及对应的测控量级。 使用标签来区分指标:唯一的键值对。 对Grafana这个流行的仪表盘工具进行介绍。 学习如何使用节点导出器对你的基础设施进行监控。 使用服务发现为你的机器和服务提供不同的监控视角。 在Kubernetes中使用Prometheus,并测试你可以在容器中使用的导出器。 将其他监控系统的数据转换为Prometheus能够识别的格式。

book

Java数据分析指南

by Posts & Telecom Press, John R. Hubbard

透过Java编程学习,掌握实用的数据分析技巧,学会使用各种Java工具和库 Key Features 通过Java编程来引导读者更好地进行数据分析 深入理解数据分析,掌握实用的数据分析技术 Book Description 当今,数据科学已经成为一个热门的技术领域,例如数据处理、信息检索、机器学习、自然语言处理、数据可视化等都得到了广泛的应用和发展。而Java作为一门经典的编程语言,在数据科学领域也有着卓越的表现。 本书旨在通过Java编程来引导读者更好地进行数据分析。本书包含11章内容,详细地介绍了数据科学导论、数据预处理、数据可视化、统计、关系数据库、回归分析、分类分析、聚类分析、推荐系统、NoSQL数据库以及Java大数据分析等重要主题。 本书适合想通过Java解决数据科学问题的读者,也适合数据科学领域的专业人士以及普通的Java开发者阅读。通过阅读本书,读者将能够对数据分析有更加深入的理解,并且掌握实用的数据分析技术。 What you will learn 数据科学导论 数据预处理 …

book

MATLAB机器学习

by Posts & Telecom Press, Giuseppe Ciaburro

MATLAB机器学习实战 Key Features 知名MATLAB用 MATLAB 进行机器学习建模的入门书。 真实案例+图表展示多种回归模型,真实再现用MATLAB实现数据应用,且侧重于实际应用。 中国量化投资学会MATLAB技术分会会长、MATLAB技术论坛联合创始人李洋领衔翻译,在原书基础上增加了专业、细致的修订。 Book Description MATLAB为机器学习领域提供了必要的工具。用户可以借助MATLAB环境提供的强大交互式图形界面,非常轻松地解决机器学习问题。 本书在介绍每个主题前,会简要概述其理论基础,然后辅以实际案例进行阐释。通过阅读本书,读者能够应用机器学习方法,并能充分利用MATLAB的功能解决实际问题。 本书前3章主要介绍MATLAB机器学习的基础知识、使用MATLAB导入数据和组织数据的方法以及从数据到知识发掘的方法,中间3章主要介绍回归分析、分类分析以及无监督学习,最后3章介绍人工神经网络、降维变换的方法以及机器学习实战的相关知识。 本书可供数据分析员、数据科学家以及任何希望学习机器学习算法以及构建数据处理、预测应用的读者阅读。 What you …