首页>参考读物>计算机科学与技术>软件与程序设计

快学熟用D3
作者 : [德]菲利普·K.贾纳特(Philipp K. Janert) 著
译者 : 郭笑鹏 译 付强 审校
出版日期 : 2020-05-19
ISBN : 978-7-111-65518-3
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 217
开本 : 16
原书名 : D3 for the Impatient
原出版社: O'Reilly Media, Inc.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书对D3进行了全面而简洁的介绍,涵盖了大部分主要功能,具体包括选择与绑定、事件、交互和动画、生成器、组件、布局、文件、数据加载、格式规范、数值的视觉映射、颜色、彩色比例尺和热力图、树形图和网状图,以及数组、统计和时间戳等辅助工具。本书致力于成为一站式资源整合点,为学习该框架的人员提供便利,涵盖了API文档及其他背景信息,如SVG、JavaScript、DOM,以及HTML canvas元素等。

图书特色

图书前言

本书排版约定。
本书使用以下排版约定。
斜体(Italic)
表示新术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
表示代码段以及段落中的程序元素,比如变量、函数名、数据库、数据类型、环境变量、语句以及关键字。
等宽粗体(Constant width bold)
显示应由用户按字面输入的命令或其他文本。
等宽斜体(Constant width italic)
表示将由用户提供的值(或由上下文确定的值)替换的文本。
这个图标表示提示或建议。
这个图标表示重要说明。
这个图标表示警告或提醒。
示例代码
可以从https://github.com/janert/d3-for-the-impatient下载补充材料(示例代码、练习等)。
这里的代码是为了帮助你更好地理解本书的内容。通常,可以在程序或文档中使用本书中的代码,而不需要联系O’Reilly获得许可,除非需要大段地复制代码。例如,使用本书中所提供的几个代码片段来编写一个程序不需要得到我们的许可,但销售或发布O’Reilly的配套CD-ROM则需要O’Reilly出版社的许可。引用本书的示例代码来回答一个问题也不需要许可,将本书中的示例代码的很大一部分放到自己的产品文档中则需要获得许可。
非常欢迎读者使用本书中的代码,希望(但不强制)你注明出处。注明出处的形式包含标题、作者、出版社和ISBN,例如
D3 for the Impatient,作者为Philipp K. Janert,由O’Reilly出版,书号为978-1-492-04677-6
如果读者觉得对示例代码的使用超出了上面所给出的许可范围,欢迎通过permission@oreilly.com联系我们。
O’Reilly在线学习平台(O’Reilly Online Learning)
近40年来,O’Reilly Media致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly和200多家其他出版商提供的大量文本和视频资源。有关的更多信息请访问http://oreilly.com。
如何联系我们
对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。
美国:
O’Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
要询问技术问题或对本书提出建议,请发送电子邮件至:bookquestions@oreilly.com
本书配套网站https://oreil.ly/D3-for-the-Impatient上列出了勘误表、示例以及其他信息。
要了解更多O’Reilly图书、培训课程、会议和新闻的信息,请访问:http://www.oreilly.com
我们在Facebook上的地址:http://facebook.com/oreilly
我们在Twitter上的地址:http://twitter.com/oreillymedia
我们在YouTube上的地址:http://www.youtube.com/oreillymedia
致谢
我要感谢从一开始就对这个项目热情提供支持的Mike Loukides和Scott Murray。Giuseppe Verni、Jane Pong、Matt Kirk、Noah Iliinsky、Richard Kreckel、Sankar Rao Bhogi、Scott Murray和Sebastien Martel阅读了部分或全部手稿,测试了示例,并提出了许多重要的建议。Matt、Scott和 Sebastien回答了许多问题并通过大量的通信分享了他们的独到见解。特别感谢Giuseppe Verni,他带着极大的兴趣和奉献精神阅读了整个手稿,提供了许多有用的建议。
本书取名D3 for the Impatient是为了致敬由Paul W. Abrahams和Bruce R. Larson合著的图书Unix for the Impatient(由Addison-Wesley出版)。

上架指导

计算机\程序设计

封底文字

如果你急于学习D3.js这个划时代的Web图形和数据可视化的JavaScript库,那这本书就是为你准备的。本书面向具有编程或数据科学背景的技术读者,内容简洁明快,突出了概念和模式的统一。作者Philipp K. Janert 将其在工作中遇到的问题融入书中,帮助你学以致用。
如果你只有一般的编程经验而没有进行过现代Web开发,本书也为你提供了技术支持,像SVG、HTML5、CSS和DOM等在书中都有涉及,这也使得本书成为技术读者的一站式资源。
通过学习本书,你将:
? 了解D3选择集这个库的基本组织原则。
? 学习如何使用数据绑定创建数据驱动文档。
? 创建动画图形和交互式用户界面。
? 用曲线、形状和颜色绘制图形。
? 使用内置方法构建热力图、树形图和网络图。
? 通过编写可复用组件来简化工作量。

“ 如果你刚刚开始学习D3,那么这本书就是你的最佳选择。”
——Scott Murray
Interactive Data Visualization
for the Web的作者
“ 本书是学习D3的全面指南,清楚地解释了该框架的常见模式和内部工作方式。”
——Giusppe Verni
高通首席工程师

Philipp K. Janert于1997年获得华盛顿大学理论物理学博士学位,之后一直从事技术工作,担任程序员、科学家和应用数学家。他著有《数据之魅:基于开源工具的数据分析》《计算机系统的反馈控制》以及《Gnuplot实战》(第2版)。

作者简介

[德]菲利普·K.贾纳特(Philipp K. Janert) 著:菲利普·K.贾纳特(Philipp K. Janert)在德国出生和长大。他于1997年获得华盛顿大学理论物理学博士学位,之后一直从事技术工作,担任程序员、科学家和应用数学家。他著有《数据之魅:基于开源工具的数据分析(O’Reilly出版社)、《计算机系统的反馈控制》(O’Reilly出版社)以及《Gnuplot实战》(第2版)(Manning出版社)。

译者序

学习的心与勇气的赞歌
时移世易,时光荏苒。
现在的前端和以前相比已经有了翻天覆地的改变,从混沌时期的原生JS到以操作DOM为主的jQuery,再到三大框架React、Angular和Vue,Node.js让前端程序员们也有能力把手伸向以前从未踏足过的服务端领域,Electron让前端程序员制作桌面应用成为可能,树莓派/Ruff让JavaScript在物联网(IOT)中也有了一席之地。
本书所讲的D3.js其实是数据可视化这一门类的库,市面上讲解它的书籍早已汗牛充栋。这本书虽然名字是“D3 for the Impatient”,其中的内容却并不简单,所用的D3版本也是相对较新的,相信可以为从事数据可视化的程序员和工程师提供帮助。
这是百花齐放的时代。
时代给了前端诸多的前进方向和更好的学习前景,同时也对知识的扎实程度和对新技术的关注度提出了挑战。太多太多的东西摆在我们面前,让我们深感迷茫和困惑。在这种情况下,我们首先要做的就是保持一颗学习的心,只有这样才能够保持竞争力,让自己不被淘汰。
比起对学习新技术的恐惧,我们更需要的是面对恐惧的勇气。科学研究也表明,人类的大脑天生就会排斥超出能力范围的事物,当一个人没有能力去完成一件事情时,就容易产生畏难情绪,害怕失败。但是,勇气是一个人处于逆境中的光明。因为害怕失败,所以更要鼓起勇气超越自己。突破了,你就成长了;退缩了,你就还待在以前的位置裹足不前。
人类的赞歌是勇气的赞歌,人类的伟大是勇气的伟大。
人生本就是一段不断超越自我的旅途。缺乏勇气的人总是举步维艰,不断被超越,总是听天由命,以为自己无能为力却总是因为恐惧放弃了抗争的机会。试着拥有一颗学习的心吧,试着鼓起前行的勇气吧!超越自己就是胜利。

新浪移动大前端
郭笑鹏(大笑)

图书目录

前言1
第1章 引言5
1.1 谁适合读这本书6
1.2 为什么选择D36
1.3 通过本书你会学到什么7
1.4 如何阅读本书8
1.5 术语9
第2章 让我们开始画图吧13
2.1 第一个例子:单数据集图表13
2.2 第二个例子:双数据集图表17
2.3 第三个例子:让列表项动起来26
第3章 核心问题:选择与绑定30
3.1 选择集31
3.2 绑定数据36
3.3 操作选择集43
3.4 通过群组共享选择集之间的信息48
第4章 事件、交互和动画50
4.1 事件50
4.2 让鼠标交互加入进来52
4.3 平滑过渡59
4.4 基于定时器的动画66
第5章 生成器、组件、布局:绘制曲线和形状71
5.1 生成器、组件和布局71
5.2 符号73
5.3 直线和曲线81
5.4 圆、弧和饼图:使用布局88
5.5 其他形状92
5.6 编写自己的组件92
第6章 文件、数据加载、格式规范:数据导入和输出99
6.1 获取文件99
6.2 解析和编写表数据104
6.3 格式化数字108
第7章 数值的视觉映射:补间、比例尺和坐标轴113
7.1 补间113
7.2 比例尺115
7.3 坐标轴122
7.4 示例127
第8章 颜色、彩色比例尺和热力图133
8.1 颜色和颜色空间转换133
8.2 配色136
8.3 彩色比例尺139
8.4 伪色图及相关技术142
第9章 树形图和网状图150
9.1 树和层次数据结构150
9.2力导向图157
第10章 辅助工具:数组、统计和时间戳164
10.1 操作数组结构164
10.2 数字数组的描述性统计165
10.3 处理日期和时间戳168
附录A 设置、工具和资源175
附录B SVG便携手册179
附录C JavaScript和DOM的速成指南189

教学资源推荐
参考读物推荐
作者: [美]史蒂夫·霍夫曼(Steve Hoffman) 斯里纳特·佩雷拉(Srinath Perera)著
作者: (美)Christopher Moyer 著