当前位置: 首页 > news >正文

【D3.js in Action 3 精译】关于本书

文章目录

    • 本书读者
    • 本书结构与路线图
    • 本书代码
    • liveBook 在线论坛

D3.js 项目的传统开发步骤
D3.js 项目的传统开发步骤


本书读者

这本书适用于所有渴望在数据可视化工作中获得完全创意自由的人,从定制化的经典图表到创建独特的数据可视化布局,涵盖内容广泛,应有尽有。您可能拥有数据分析的相关背景,也可能是记者、设计师,甚至是数据可视化的发烧友。恭喜您考虑学习 D3.js !您很快就会意识到,这是在您的时间上一笔多么明智的投资。通过掌握 D3,您将解锁无与伦比的创意自由与创作潜能——这是当今无数数据可视化工具无法企及的高度。

本书结构与路线图

正如您所了解的,D3 活跃在前端开发工具的生态系统中:HTML、CSS 和 JavaScript。在深入阅读第二章之前,您需要确保了解这些工具的基础知识,并充分理解怎样将它们结合起来创建美观大气的交互式网页。您不必是这方面的行家里手,但具备一些基础知识将使您的 D3 学习体验更加流畅。如果您希望提升前端开发技能,我们推荐以下资源:

  • Maximilian Schwarzmüller 主讲的《2023 Web 开发训练营》(2023 Web Development Bootcamp,详见 http://mng.bz/WEe4)
  • Frontend Masters 网站出品的《Web 开发完全入门》(Complete Intro to Web Development,详见 http://mng.bz/8wyZ)

本书按照循序渐进的方式来组织内容。第一部分涵盖了诸如数据处理与简单图表创建等基础内容;第二部分则重点介绍了让项目具备可交互性与响应性的方法、提升项目可访问性的途径,以及将 D3 整合到 React、Svelte 等 JavaScript 框架的具体思路,以不断满足新的数字化需求;第三部分的每一章都涵盖了更高级的数据可视化内容:层次结构、网络及各类地图等等。最后,在第四部分,我们将邀您一道深入了解完全定制的可视化布局的创建过程,并探讨性能相关的话题,以及怎样将 D3 与 Canvas 结合使用。

如果您是 D3 的新手,我们建议您按顺序阅读第 1 ~ 7 章。这些前置章节将帮助您更好地构建 D3 的思维模型,确保在探讨更高级的主题之前,您的工具箱中已拥有全部的基础构件。D3 因学习曲线陡峭而声名狼藉,但只要按照这些章节提供的步骤学下去,D3 也可以变得非常直观。

如果您先前了解过 D3 并且熟悉这些基础知识,您也可以开启个性化的学习之旅。第 8 ~ 15 章专注于特定的概念及图表类型,当您手里的项目需要这些知识时,对应章节的内容或许值得一试。

对于书本前的所有读者,强烈建议大家不仅要阅读本书,更要躬身实践。每一章都包含了各自的数据可视化项目,旨在帮助您整合消化书中阐释的概念。将这些概念、想法付诸实践将会让整个世界因为您的努力而变得不同,也会让您的学习之旅更加便捷与顺畅。

对于每个项目和练习,您可以在本书的 GitHub 仓库(http://mng.bz/Xqjv)访问相应的初始代码文件和参考解决方案。附录 D 还提供了各章练习的参考答案。本书所有代码文件及代码片段均采用第 7 版的 D3 语法,这也是本书撰写时的最新版本。想要运行并编辑代码,您只需要一个代码编辑器和一个浏览器。代码编辑器我们推荐 VS Code;浏览器则推荐 Chrome 或 Firefox。

本书代码

本书包含许多源代码示例,有的是在带编号的代码清单中,有的是在正文里。所有源代码都采用了等宽字体(fixed-width font like this),以便跟普通文字区分开。有时源代码还会加粗,以突出显示某章节内容中与前一步的不同之处,例如给已有的一行代码加上新特性时。

在许多情况下,书中出现的源代码已经重新做了格式化处理;我们添加了换行并重新调整了缩进,以适应本书版面。由于在极少数情况下,这样做还不够,故而代码清单还会加入该行继续的标记(➥)。此外,如果正文中已经对代码做了解释,则会将代码清单中的注释内容删除。许多代码清单中出现的注释,旨在强调重要概念。

您可以从本书的线上版本 liveBook 中获取可执行的代码片段,网址为 https://livebook.manning.com/book/d3js-in-action-third-edition。本书示例的完整代码可从 Manning 官网 www.manning.com/books/d3js-in-action-third-edition 及 GitHub 仓库 http://mng.bz/Xqjv 进行下载。

liveBook 在线论坛

购买《D3.js 实战》第三版即可免费访问 liveBook —— Manning 出版社的在线阅读平台。利用 liveBook 独有的讨论功能,您可以在全书范围内或特定章节、段落上评论相关内容、轻松记笔记、咨询技术问题并参与回答,还可以从作者和其他用户那里获得帮助。访问线上论坛,请移步 https://livebook.manning.com/book/d3js-in-action-third-edition/discussion。您还可以访问 https://livebook.manning.com/discussion 了解更多关于 Manning 论坛和行为规范等内容。

Manning 向读者承诺提供一个交流平台,以供读者与读者之间、以及读者与作者之间进行有意义的对话。这并不意味着硬性要求作者一定要投入多少精力参与到交流讨论中,因为作者对论坛的贡献仍然是志愿行为(并且是免费的)。我们建议读者尝试向作者询问一些富有挑战的问题,以免作者不感兴趣。只要图书在印刷中,论坛和之前讨论的存档都可以在出版社的网站找到。

相关文章:

【D3.js in Action 3 精译】关于本书

文章目录 本书读者本书结构与路线图本书代码liveBook 在线论坛 D3.js 项目的传统开发步骤 本书读者 这本书适用于所有渴望在数据可视化工作中获得完全创意自由的人,从定制化的经典图表到创建独特的数据可视化布局,涵盖内容广泛,应有尽有。您…...

【408考点之数据结构】二叉树的概念与实现

二叉树的概念与实现 一、二叉树的概念 二叉树是一种特殊的树结构,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树广泛应用于许多计算机科学领域,如表达式解析、排序、搜索算法等。 二、二叉树的性质 性质1&#xff1a…...

STM32之二:时钟树

目录 1. 时钟 2. STM3时钟源(哪些可以作为时钟信号) 2.1 HSE时钟 2.1.1 高速外部时钟信号(HSE)来源 2.1.2 HSE外部晶体电路配置 2.2 HSI时钟 2.3 PLL时钟 2.4 LSE时钟 2.5 LSI时钟 3. STM32时钟(哪些系统使用时…...

第十四站:Java玫瑰金——移动开发(第二篇)

处理不同类型的网络连接和增强错误处理及用户反馈,需要我们对网络状态检查逻辑进行扩展,并在UI上给予用户适当的提示。以下是对Java代码的进一步扩充: 网络状态检查扩展:区分Wi-Fi和移动数据,并根据网络类型提供不同的…...

数据处理技术影响皮质-皮质间诱发电位的量化

摘要 皮质-皮质间诱发电位(CCEPs)是探究颅内人体电生理学中有效连接性的常用工具。与所有人体电生理学数据一样,CCEP数据极易受到噪声的影响。为了解决噪声问题,通常会对CCEP数据进行滤波和重参考,但不同的研究会采用不同的处理策略。本研究…...

ResultSet的作用和类型

ResultSet的作用: ResultSet在Java中主要用于处理和操作数据库查询结果。它是一个接口,提供了一系列方法来访问和操作数据库查询得到的结果集。具体来说,ResultSet的作用包括: 获取查询结果:通过ResultSet可以获取数…...

计算机网络:运输层 - TCP首部格式 连接的创建与释放

计算机网络:运输层 - TCP首部格式 & 连接的创建与释放 TCP首部格式源端口 目的端口序号确认号数据偏移保留控制位窗口检验和紧急指针 TCP连接创建 - 三次握手TCP传输过程TCP连接释放 - 四次挥手 TCP首部格式 TCP的首部如下: 首部的前20 byte是固定的…...

妈耶!被夸爆的零售数据分析方案在这里

在竞争激烈的零售市场中,数据分析已成为企业决胜的关键。今天,就为大家揭秘一份备受赞誉的零售数据分析方案——奥威BI零售数据分析方案,它围绕“人、货、场、供、财”五大主题,助力企业精准决策,实现业务增长。 一、人…...

AI探索:最佳落地应用场景

如果说今年的风口,那一定是 AI。不过AI像一把双刃剑,既有助益也有风险。我们将从IBM Watson的高飞与坠落,到Google Allo的黯然失色,探索AI应用中的教训。同时,瑞幸咖啡的成功故事展现了凭借策略得当的AI应用&#xff0…...

2024年最新机动车签字授权人考试题库。

31."简易瞬态工况法"所使用的五气分析仪的温度范图:分析系统及相关部件应在( )。 A.0-40℃ B.0-50℃ C.0-60℃ D.-10-40℃ 答案:A 32.稀释氧传感器环境空气量程检测时的读数值位于( )%vol范围之外时,应…...

软RAID

硬盘 连续空间 无法 扩容 lvm 非连续空间 可以动态扩容 raid 备份, 提高读写性能,不能扩容 raid 是磁盘的集合,按照排列组合的方法不 一,给 raid 去了不同的名字 raid0 raid1 raid5 raid10 什么是 RAID "RAID"…...

IDEA 学习之 启动“卡死”

目录 1. 断点问题2. IDEA 版本问题 1. 断点问题 部分断点涉及应用启动,会导致启动“卡死” 2. IDEA 版本问题 部分 IDEA 版本存在启动问题,本人之前遇到过(别人启动三分钟,我启动半个小时)。更换别的版本&#xff…...

豆瓣高分项目管理书籍推荐

📬豆瓣网站上有很多项目管理领域的书籍获得了较高的评分,以下是一些高分项目管理书籍的精选列表,发出来跟大家分享一下: 《项目管理知识体系指南(PMBOK指南)》 【内容简介】这本书是美国项目管理协会&…...

关于docker存储overlay2相关问题

报错如下: 报错原因:使用rm -rf 清理overlay2导致的,非正常清理。 正常清理命令如下: # 清理Docker的所有构建缓存 docker builder prune# 删除旧于24小时的所有构建缓存 docker builder prune --filter "until24h"#删…...

实现批量自动化电商数据采集|商品详情页面|店铺商品信息|订单详情数据

电商数据采集是指通过技术手段获取电商平台上的商品信息、店铺信息和订单信息等数据。这些数据可以用于市场分析、竞品分析、用户行为分析等。 商品详情页面是指电商平台上展示商品详细信息的页面,包括商品名称、价格、图片、描述、评价等信息。通过采集商品详情页…...

ES6(ECMAScript 6.0) 新特性

1 ES6 基本介绍 (1)ECMAScript 6.0(简称 ES6)是 JavaScript 语言的下一代标准, 2015 年 6 月发布。 (2)ES6 设计目标:达到 JavaScript 语言可以用来编写复杂的大型程序,成为企业级开发语言 &…...

性能工具之 JMeter 常用组件介绍(八)

文章目录 一、Jmeter命令行启动二、Jmeter脚本录制 本文主要介绍JMeter命令行启动和脚本录制功能 一、Jmeter命令行启动 Jmeter有两种运行: 一种是采用的界面模式(GUI)启动,会占用不少系统资源;另一种是命令行模式(n…...

分布式锁(Redission)

分布式锁: 使用场景: 通常对于一些使用率高的服务,我们会进行多次部署,可能会部署在不同的服务器上,但是他们获取和操作的数据仍然是同一份。为了保证服务的强一致性,我们需要对线程进行加锁,…...

【ARMv8/v9 GIC 系列 3 -- GIC 的 类型寄存器 GICD_TYPER】

文章目录 GIC 类型寄存器 GICD_TYPERESPI_Range, 位[31:27]RSS, 位[26]No1N, 位[25]A3V, 位[24]IDBits, 位[23:19]DVIS, 位[18]LPIs, 位[17]MBIS, 位[16]NUM_LPIs, 位[15:11]SecurityExtn, 位[10]NMI, 位[9]ESPI, 位[8]CPUNumber, 位[7:5]ITLinesNumber, 位[4:0]GIC 类型寄存器…...

MATLAB算法实战应用案例精讲-【数模应用】线性判别分析(附MATLAB、python和R语言代码实现)

目录 前言 算法原理 什么是判别分析 线性判别分析(LDA) 数学模型 二分类 多分类LDA ​编辑 算法思想: 费歇(FISHER)判别思想 贝叶斯(BAYES)判别思想 LDA算法流程 LDA与PCA对比 SPSSPRO 1、作用 2、输入输出描述 3、案例示例 4、案例数据 5、案例操作 …...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥&#xff0c;再multisim中选择FWB&#xff0c;就有各种型号的电桥: 电桥是用来干嘛的呢&#xff1f; 它是一个由四个二极管搭成的“桥梁”形状的电路&#xff0c;用来把交流电&#xff08;AC&#xff09;变成直流电&#xff08;DC&#xff09;。…...

前端工具库lodash与lodash-es区别详解

lodash 和 lodash-es 是同一工具库的两个不同版本&#xff0c;核心功能完全一致&#xff0c;主要区别在于模块化格式和优化方式&#xff0c;适合不同的开发环境。以下是详细对比&#xff1a; 1. 模块化格式 lodash 使用 CommonJS 模块格式&#xff08;require/module.exports&a…...