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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/32387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言移位运算超出类型所能表示的范围告警

错误代码&#xff1a; *(unsigned int *)GPIOC_CRH & ~(0xf << 28); 告警内容&#xff1a; integer operation result is out of range 分析&#xff1a; integer operation result is out of range是因为在尝试对一个32位整型执行移位操作时超出了该类型所能表示…

重学java 80.Junit单元测试

我总是着急的解释我自己&#xff0c;却忘了厚爱无需多言 —— 24.6.21 一、Junit介绍 1.概述 Junit是一个单元测试框架,可以代替main方法去执行其他的方法 2.作用 可以单独执行一个方法,测试该方法是否能跑通 3.注意 Junit是第三方工具,所以使用之前需要导入jar包 二、J…

GraphQL vs REST:API设计的现代选择

随着技术的飞速发展&#xff0c;API&#xff08;应用程序接口&#xff09;设计成为了软件开发中不可或缺的一部分。REST&#xff08;Representational State Transfer&#xff09;和GraphQL作为两种主流的API设计风格&#xff0c;各自具有独特的优势和适用场景。本文将深入探讨…

idea导入项目右侧maven不显示的解决办法

不显示情况&#xff1a; 原因可能是读取项目出错&#xff0c;未正确加载pom文件造成的。 解决方案一&#xff1a; 关闭idea在项目目录中删除.idea文件夹重新打开项目&#xff0c;重新加载。 解决犯案二&#xff1a; 直接在pom文件中右键选择add as maven project。 解决方案三…

嵌入式Linux gcc 编译器使用解析

目录 1.说明 2.分步编译法 3.编译源文件的四个阶段 4.gdb调试及常用命令 5.Makefile 1.说明 源文件 main.c 想生成 source gcc –g –O2 main.c –o source 黄色部分便是控制字 -g用于GDB –O2用于优化编译; 绿色部分表示源,可以由多个组成,用空格隔开; gcc …

PythonWeb前端

摘要 学校的一门选修课&#xff0c;PythonWeb开发从入门到实践&#xff0c;用到的技术有Python,Flask,MySQL,前端三件套等&#xff0c;但因为是选修课&#xff0c;所以都只涉及到了一点点 Web前端基础 1.Web工作原理 概念&#xff1a; Web&#xff0c;万维网&#xff0c;一…

出差:能带的工具都要带上,宁可用不上,不可没有

昨天出差常州&#xff0c;我也是信心满满。就是烧录几个板子&#xff0c;在公司烧了无数次&#xff0c;也反复测试过了。 到了现场&#xff0c;傻眼了&#xff1a; 我以为是来烧云台&#xff0c;连六角螺丝刀都带上了&#xff0c;其他包括串口线、云台电缆。现场是烧板子&…

关于运用人工智能帮助自己实现英语能力的有效提升?

# 实验报告 ## 实验目的 - 描述实验的目标&#xff1a;自己可以知道&#xff0c;自己的ai学习方法是否可以有效帮助自己实现自己的学习提升。 预期结果&#xff1a;在自己利用科技对于自己进行学习的过程中&#xff0c;自己的成长速度应该是一个幂指数的增长 ## 文献回顾 根据…

Docker:centos79-docker-compose安装记录

1.安装环境&#xff1a;centos7.9 x86 2.安装最新版&#xff1a; [rootlocalhost ~]# curl -fsSL get.docker.com -o get-docker.sh [rootlocalhost ~]# sh get-docker.sh # Executing docker install script, commit: e5543d473431b782227f8908005543bb4389b8desh -c yum in…

记一次网站违规风险百度统计被禁用的经历及解决方法

今天登陆百度统计&#xff0c;提示&#xff1a;网站由于存在合规风险将被暂停使用百度统计服务。 为了满足法律法规及政府监管的最新规定和要求&#xff0c;保护广大网民的合法权益&#xff0c;您的网站由于存在合规风险将被暂停使用百度统计服务。违规域名&#xff1a;xxxxxx.…

django+uniapp

项目显示是前后端分离的模式django项目正常跑起来UniAPP项目直接打包正式web,打包出来的时候选择hash和文件路径/static/project/UniAPP项目部署到服务器中,/project直接部署到django对应的static的下面网页启动模式是通过静态文件的方式访问和启动 问题 负载均衡&#xff0c;…

使用Docker部署Java应用:从入门到实践

引言 随着容器化技术的兴起&#xff0c;Docker已成为部署和管理应用程序的热门选择。Docker提供了一种轻量级、可移植和自给自足的容器&#xff0c;使得应用部署变得简单且一致。本文将详细介绍如何使用Docker部署Java应用程序&#xff0c;包括基础概念、环境搭建、Dockerfile…

IF膨胀时代,“水刊”当赢?2023热门“水刊”影响因子详解!

【欧亚科睿学术】 1 “四大水刊”详情 图片来源&#xff1a;欧亚科睿学术整理 “四大水刊”的影响因子均有所下跌&#xff0c;其中&#xff0c;曾经被列入中科院预警名单的期刊MEDICINE&#xff0c;其影响因子已是连续三年持续下降。从JCR分区来看&#xff0c;四本期刊分区均…

算法训练(leetcode)第十一天 | 144. 二叉树的前序遍历、145. 二叉树的后序遍历、94. 二叉树的中序遍历、102. 二叉树的层序遍历

刷题记录 144. 二叉树的前序遍历递归迭代 145. 二叉树的后序遍历递归迭代 94. 二叉树的中序遍历递归迭代 102. 二叉树的层序遍历 144. 二叉树的前序遍历 leetcode题目地址 二叉树前序遍历。 时间复杂度&#xff1a; O ( n ) O(n) O(n) 空间复杂度&#xff1a; O ( n ) O(n…

迈巴赫S480升级增强现实AR抬头显示hud比普通抬头显示HUD更好用吗

增强AR实景抬头显示HUD&#xff08;Augmented Reality Head-Up Display&#xff09;是一种更高级的驾驶辅助技术&#xff0c;相比于普通抬头显示HUD&#xff0c;它提供了更丰富、更具沉浸感的驾驶体验。以下是它比普通抬头显示HUD多的一些功能&#xff1a; • 信息呈现方式&am…

Flutter中的异步和多进程

Flutter 是一个用于创建高性能、高保真度移动应用的框架,它使用 Dart 编程语言。 在 Flutter 中,异步和多进程是两种不同的概念,用于解决不同的问题。 异步 (Asynchronous) 异步编程是一种编程范式,允许代码在等待操作完成(如网络请求、文件 I/O)时继续执行其他任务,而不…

MySQL数据库笔记(二)

第一章 单行函数 1.1 什么是函数 函数的作用是把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在SQL中使用函数,极大地提高了用户对数据库的管理效率。 1.2 定义 操作数据对象。 接受参数返回一个结果。 只对一行进行…

【React】AntD组件的使用--极客园--02.登录模块

基本结构搭建 实现步骤 在 Login/index.js 中创建登录页面基本结构在 Login 目录中创建 index.scss 文件&#xff0c;指定组件样式将 logo.png 和 login.png 拷贝到 assets 目录中 代码实现 pages/Login/index.js import ./index.scss import { Card, Form, Input, Button }…

pandas.frame输出parquet

代码 import pandas as pd import pyarrow._parquet as pqdata pd.read_parquet("0000.parquet") total_rows len(data) half_row_num total_rows//2 print(half_row_num) first_half data.iloc[:20000] second_half data.iloc[20000:20000] # print(first_hal…

Nginx - 反向代理、负载均衡、动静分离、底层原理(案例实战分析)

目录 Nginx 开始 概述 安装&#xff08;非 Docker&#xff09; 配置环境变量 常用命令 配置文件概述 location 路径匹配方式 配置反向代理 实现效果 准备工作 具体配置 效果演示 配置负载均衡 实现效果 准备工作 具体配置 实现效果 其他负载均衡策略 配置动…