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

Python计算机视觉和自然语言处理

by Posts & Telecom Press, Álvaro Morena Alberolaï, Gonzalo Molina Gallegoï, Unai Garay Maestreï

用Python学习自然语言处理和计算机视觉技术,用ROS开发智能的机器人系统 Key Features 用Python讲解自然语言处理技术和计算机视觉技术; 用ROS开发更智能的机器人系统; 用NLP技术和OpenCV技术让机器人更加智能; 一系列练习和实战项目全方位提升读者的动手能力和研发能力; 配套的代码资源包和彩色图片包,让你边学边对照,学习效率更高。 Book Description 机器人是人工智能时代的重要产物,为人类的工作和生活提供了非常多的助力。对于智能机器人而言,视觉识别能力和对话能力是非常重要的两个方面,本书就是基于这两个技术展开介绍,并通过一系列的编程案例和实践项目,引导读者高效掌握机器人的开发技巧。 本书基于Python语言进行讲解,结合机器人操作系统(ROS)平台给出了丰富多样的机器人开发方案。本书立足于机器人的视觉和语言处理,通过OpenCV、自然语言处理、循环神经网络、卷积神经网络等技术提高机器人的视觉识别能力和对话能力。全书包括多个练习和项目,通过知识点和编程实践相结合的方式,快速带领读者掌握实用的机器人开发技术。 本书适合机器人或智能软硬件研发领域的工程师阅读,也适合高校人工智能相关专业的师生阅读。 What you will …

book

Spark机器学习实战

by Posts & Telecom Press, Siamak Amirghodsi, Meenakshi Rajendran, Broderick Hall, Shuen Mei

学习实用的机器学习算法,并用Spark快速动手实践 Key Features 步骤清晰,讲解细致,适合读者边学边做 提供Apache Spark机器学习API的全面解决方案 Book Description 机器学习是一门多领域交叉学科,可以通过模拟来让计算机获取新的知识或技能。Apache Spark是一种通用大数据框架,也是一种近实时弹性分布式计算和数据虚拟化技术,Spark使人们可以大规模使用机器学习技术,而无须在专用数据中心或硬件上进行大量投资。 本书提供了Apache Spark机器学习API的全面解决方案,不仅介绍了用Spark完成机器学习任务所需的基础知识,也涉及一些Spark机器学习的高级技能。全书共有13章,从环境配置讲起,陆续介绍了线性代数库、数据处理机制、构建机器学习系统的常见攻略、回归和分类、用Spark实现推荐引擎、无监督学习、梯度下降算法、决策树和集成模型、数据降维、文本分析和Spark Steaming的使用。 本书是为那些掌握了机器学习技术的Scala开发人员准备的,尤其适合缺乏Spark实践经验的读者。本书假定读者已经掌握机器学习算法的基础知识,并且具有使用Scala实现机器学习算法的一些实践经验。但不要求读者提前了解Spark ML库及其生态系统。 What …

book

精通Python自然语言处理

by Posts & Telecom Press, Deepti Chopra, Nisheeth Joshi, Iti Mathur

用Python开发令人惊讶的NLP项目 Key Features 本书是学习自然语言处理的一本综合学习指南 本书有助于读者使用NLTK创建NLP项目并成为相关领域的专家。 Book Description 自然语言处理(NLP)是有关计算语言学与人工智能的研究领域之一。NLP主要关注人机交互,它提供了计算机和人类之间的无缝交互,使得计算机在机器学习的帮助下理解人类语言。 本书详细介绍如何使用Python执行各种自然语言处理(NLP)任务,并帮助读者掌握利用Python设计和构建基于NLP的应用的最佳实践。本书引导读者应用机器学习工具来开发各种各样的模型。对于训练数据的创建和主要NLP应用的实现,例如命名实体识别、问答系统、语篇分析、词义消歧、信息检索、情感分析、文本摘要以及指代消解等,本书都进行了清晰的介绍。本书有助于读者使用NLTK创建NLP项目并成为相关领域的专家。 通过阅读本书,你将能够: • 实现字符串匹配算法以及标准化技术; • 实现统计语言建模技术; • 深刻理解词干提取器、词形还原器、形态分析器以及形态生成器的开发; …

book

网络安全评估(第三版)

by Chris McNab

你的网络有多安全?使用与攻击者识别和利用脆弱性相同的策略,来对你的网络开展攻击,是找出答案的最好方法。通过这本实用指南,你将学习如何以结构化的方式执行基于网络的渗透测试。本书作者演示了常见的脆弱性,以及在你的环境中识别这些脆弱性的步骤。 系统的复杂性和攻击平面都在持续增长,本书提供了一个帮助你降低网络风险的过程。每章都包括一份总结攻击者技术的清单,以及你可以立即使用的有效对策。 本书可以学到如何有效测试系统组件,包括: 公共服务,如SSH、FTP、Kerberos、SNMP和LDAP。 微软公司服务,包括NetBIOS、SMB、RPC和RDP。 SMTP、POP3和IMAP电子邮件服务。 提供安全网络访问的IPsec和PPTP服务。 提供运输安全的TLS协议和功能。 网络服务器软件,包括微软公司的IIS、Apache和Nginx。 框架,包括Rails、Django、微软ASP.NET和PHP。 数据库服务器、存储协议和键值对存储。