新書推薦:
《
古典的回響:溪客舊廬藏明清文人繪畫
》
售價:NT$
1990.0
《
根源、制度和秩序:从老子到黄老学(王中江著作系列)
》
售價:NT$
550.0
《
索恩丛书·北宋政治与保守主义:司马光的从政与思想(1019~1086)
》
售價:NT$
345.0
《
掌故家的心事
》
售價:NT$
390.0
《
农为邦本——农业历史与传统中国
》
售價:NT$
340.0
《
郊庙之外:隋唐国家祭祀与宗教 增订版 (三联·哈佛燕京学术丛书)
》
售價:NT$
480.0
《
小麦文明:“黄金石油”争夺战
》
售價:NT$
445.0
《
悬壶杂记全集:老中医多年临证经验总结(套装3册) 中医医案诊疗思路和处方药应用
》
售價:NT$
614.0
|
編輯推薦: |
《精通D3.js(第2版)》全面介绍了D3.js,并新增了D3.4x版本的相关知识,是比较系统完整的教程。由浅入深,既有基础入门知识,又有相对深入的内容。图文并茂,语言流畅,讲解清晰易懂。
|
內容簡介: |
本书以世界范围内*流行的可视化工具D3为主题,包含D3简介、Web前端基本知识、D3开发环境的构建、D3基础、D3学习主线,以及D3*版本D3.js 4.0的知识。学习本书后,相信读者能在查询API的情况下完成数据可视化的工作。为使阅读尽量简单、易懂,本书附带非常丰富的插图。本书在设计上希望让零基础的读者也能阅读,但这或许很难。读者也许需要至少掌握一门编程语言,例如CC、Java、JavaScript,并了解网页编写的基本知识。
|
關於作者: |
吕之华,2012年软件工程专业毕业,同年赴日。2015年获日本岩手大学设计与媒体专业硕士学位。多年专研数据可视化、计算机动画等技术。
2014年起以D3.js为主题在网络上发表了一系列文章,获得读者好评,本书是在此基础上经过精选和扩充形成的。2017年本书第2版出版。
|
目錄:
|
目录
第1章D3简介1
1.1D3是什么1
1.1.1D3简史2
1.1.2D3的优势3
1.1.3D3的适用范围4
1.2数据可视化是什么4
1.2.1目的5
1.2.2构成要素5
1.2.3相关概念7
1.3图表种类7
1.4学习方法10
1.4.1预备知识11
1.4.2学习顺序11
1.4.3D3难吗11
第2章Web前端开发基础13
2.1浏览器和服务器14
2.1.1浏览器14
2.1.2服务器15
2.2HTML&CSS16
2.2.1HTML元素17
2.2.2CSS选择器17
2.3JavaScript18
2.3.1在HTML中使用JavaScript18
2.3.2语法19
2.3.3变量20
2.3.4数据类型21
2.3.5操作符23
2.3.6语句24
2.3.7函数27
2.3.8对象27
2.3.9数组28
2.4DOM29
2.4.1结构29
2.4.2访问和修改HTML元素30
2.4.3添加和删除节点31
2.4.4事件32
2.5SVG32
2.5.1位图和矢量图33
2.5.2图形元素33
2.5.3文字38
2.5.4样式39
2.5.5标记40
2.5.6滤镜41
2.5.7渐变42
2.6Canvas43
2.6.1开始绘图44
2.6.2状态机44
2.6.3基本图形45
2.6.4文字47
2.6.5变形48
2.6.6图片49
2.6.7渐变49
2.7色彩基础50
2.7.1颜色空间50
2.7.2色相环51
2.7.3配色基础52
2.7.4配色的心理效果54
第3章准备开发环境55
3.1下载D355
3.1.1通过本地引用55
3.1.2通过网络引用56
3.2安装Chrome和Sublime Text56
3.3安装Apache HTTP Server57
3.4Hello World60
3.5绘制矢量图61
3.6调试62
第4章D3基础:选择集与数据63
4.1选择元素63
4.2选择集64
4.2.1查看状态64
4.2.2设定和获取属性65
4.3添加、插入和删除68
4.4数据绑定69
4.4.1datum的工作过程69
4.4.2data的工作过程72
4.4.3绑定的顺序76
4.5update、enter、exit77
4.5.1enter的处理方法77
4.5.2exit的处理方法79
4.5.3数据更新时的处理模板79
4.6选择集的常用方法80
4.6.1过滤filter80
4.6.2排序sort81
4.6.3遍历each81
4.6.4传递call82
4.7数组的常用方法82
4.7.1排序82
4.7.2求值83
4.7.3生成和操作85
4.7.4映射86
4.8柱形图88
4.8.1添加矩形和文字88
4.8.2更新数据92
第5章比例尺和坐标轴96
5.1定量比例尺96
5.1.1线性比例尺97
5.1.2指数比例尺和对数比例尺100
5.1.3量子比例尺和分位比例尺101
5.1.4阈值比例尺103
5.2序数比例尺104
5.3坐标轴108
5.3.1绘制方法109
5.3.2刻度111
5.3.3各比例尺的坐标轴113
5.4散点图113
第6章绘制116
6.1颜色116
6.1.1RGB117
6.1.2HSL118
6.1.3插值119
6.2线段生成器119
6.3区域生成器123
6.4弧生成器125
6.5符号生成器127
6.6弦生成器129
6.7对角线生成器131
6.8折线图132
第7章动画137
7.1过渡效果137
7.1.1创建过渡138
7.1.2过渡的属性141
7.1.3子元素144
7.1.4事件监听和调用146
7.1.5过渡的样式148
7.2散点图的过渡效果148
7.2.1绘图准备149
7.2.2应用过渡的散点150
7.2.3绘制坐标轴151
7.2.4更新数据的事件152
7.2.5结果153
第8章交互154
8.1监听器154
8.1.1鼠标156
8.1.2键盘157
8.1.3触屏159
8.2事件d3.event161
8.2.1事件的种类161
8.2.2容器的相对坐标162
8.3行为d3.behavior163
8.3.1拖曳163
8.3.2缩放166
第9章导入和导出170
9.1文件导入170
9.1.1JSON171
9.1.2CSV173
9.1.3XML177
9.1.4TEXT178
9.2文件导出179
9.2.1导出为SVG文件179
9.2.2编辑矢量图182
第10章布局185
10.1饼状图185
10.2力导向图191
10.3弦图197
10.4树图205
10.5捆图210
10.6直方图216
10.7矩阵树图223
第11章地图的基础228
11.1地图的数据228
11.1.1下载228
11.1.2简化232
11.1.3GeoJSON233
11.1.4TopoJSON237
11.2中国地图239
11.2.1基于GeoJSON239
11.2.2基于TopoJSON242
11.3地理路径250
11.3.1地理路径生成器250
11.3.2形状生成器254
11.4投影259
第12章友好的交互268
12.1提示框268
12.1.1饼状图的提示框269
12.1.2提示框的样式271
12.2坐标系中的焦点273
12.2.1折线图的焦点274
12.2.2为折线图添加提示框279
12.3元素组合283
12.3.1饼状图的拖曳284
12.3.2移入和移出286
12.3.3合并294
12.4区域选择296
12.4.1在SVG画板里选择一块区域297
12.4.2散点图的区域选择299
12.5开关301
12.5.1思维导图的构造思路302
12.5.2思维导图的制作305
第13章地图的应用312
13.1值域的颜色312
13.2标注316
13.2.1标注地点317
13.2.2夜光图319
13.3标线321
13.3.1带有箭头的标线322
13.3.2球面地图的标线324
13.4拖曳和缩放326
13.4.1平面地图326
13.4.2球面地图329
13.5力导向地图330
13.5.1Voronoi图和Delaunay三角剖分330
13.5.2力导向的中国地图334
第14章D3 4.x简介340
14.14.x的新功能341
14.23.x如何升级到4.x344
14.2.1加载文件的变化345
14.2.2布局的变化规则345
14.2.3生成器的变化规则346
14.2.4比例尺的变化规则346
14.2.5升级小结347
14.3D3 4.x的设计思想347
14.3.13.x和4.x的结构区别347
14.3.2模块化的优点348
14.3.3可阅读性和自我解释350
14.4未来展望351
14.4.1模块发展的百花齐放352
14.4.2应用范围扩大352
14.4.3第二核心、第三核心352
第15章D3 4.x新功能剖析354
15.1全新的力导向图354
15.1.1力的作用355
15.1.2控制时间357
15.1.3给Canvas添加拖放事件358
15.1.44.x版完整的力导向图360
15.2丰富多彩的调色板364
15.2.1配色模板365
15.2.2d3-color367
15.3功能倍增的图形生成器368
15.3.1折线图和线段生成器369
15.3.2消失的对角线生成器372
15.3.3更简单的坐标轴374
15.4更合理的布局375
15.4.1堆栈图的数据结构376
15.4.2从思维导图来探究d3-hierarchy380
15.4.3全新的打包图d3.pack383
15.5无限循环的过渡效果384
15.5.1单元素的无限过渡385
15.5.2多元素的无限过渡386
第16章D3 4.x在地图上的应用387
16.1Canvas地图的基本功能387
16.1.1填充和描边388
16.1.2选择区域390
16.1.3拖曳和缩放392
16.2地图上飞舞的流星394
16.2.1Canvas的流星效果395
16.2.2地图两点间的流星396
16.3地球仪401
16.3.14.x的形状生成器401
16.3.2Canvas球面地图的旋转和缩放403
16.4结合Leaflet.js和D3.js407
16.4.1Leaflet.js的简介和安装408
16.4.2载入地图408
16.4.3加入标注412
16.4.4添加SVG或Canvas到地图上414
附录A彩色插图419
参考文献436
|
內容試閱:
|
前 言
D3(Data-Driven Document)是一个用于数据可视化开发的JavaScript库,该项目托管于GitHub。GitHub是全世界最流行的代码托管平台,云集了来自世界各地的优秀工程师。D3自诞生以来,不断受到好评,其在GitHub的项目仓库排行榜上排名已高居第2位(2017年3月)。以一个可视化工具而言,能取得这种成就可谓奇迹。
使用者众多并不意味着一个工具一定好,但一定意味着它拥有更多的教程、示例代码、社区问答和出版物。D3由于其庞大的用户量,几乎已经成为数据可视化的代名词。
本书希望尽可能让零基础的读者也能阅读,但这或许很难。你也许需要至少掌握一门编程语言,例如CC、Java、JavaScript,并了解网页编写的基本知识。
学习本书后,相信读者能在查询API的情况下完成数据可视化的工作。为使阅读尽量简单、易懂,本书附带非常丰富的插图。用图而不用文字,这也正好符合可视化的追求。
如何阅读本书
读者现在正在阅读的,是《精通D3.js》的第2版,本书新增了D3 4.x的内容。
D3在网络上存在两个常用版本:3.x和4.x。
3.x经过长时间的发展,资料丰富,拥有大量的出版物,版本比较稳定,插件也较多。
4.x是新版本,采用了与3.x完全不同的模块化设计思维,功能也比3.x强大,但是目前资料相对较少,几乎没有出版物,社区解答的规模还没有形成。
本书希望既能结合3.x和4.x的内容,又不至于造成版本使用的混乱。
第1章至第3章:学习D3的预备知识。
第4章:D3的核心知识数据绑定,内容通用于3.x和4.x版本。
第5章至第13章:D3学习的主线,以3.x为基准,其内容也可作为4.x的参考。
第14章至第16章:D3 4.x的内容,包括升级方法、设计思想、新功能等。
根据读者的需求,笔者推荐您参考如下的阅读顺序。
1.零基础初学者
按顺序从第1章阅读到第16章即可,有不需要学习的章节可以自行跳过。
2.已经用过3.x,希望学习4.x的读者
阅读第4章、第14~16章的内容。第4章属于核心知识,可以用作复习,如果熟悉也可以不阅读。
3.仅希望用3.x的读者
阅读第4章至第13章。
运行环境
运行本书的示例,需要安装以下软件:
Chrome、Firefox、Safari、Opera、Internet Explorer 9及更高版本;
Apache HTTP Server或Ngnix等服务器软件(部分示例)。
排版约定
为使读者把握重点,本书将采用以下排版约定。
(1)正文中重要的词汇会使用加粗字体以示强调。
(2)重要的代码会以加粗字体表示强调,例如:
d3.selectAll"p".text"cat";普通代码
d3.selectAll"p".text"dog";重要代码
勘误信息
一本书要想完善,需要众多读者反馈错误。笔者虽想尽最大努力确保没有错误,但这却是很困难的。如果你发现书中的任何错误,小到错别字,大到代码无法运行等,希望能及时反馈给笔者。您的任何一次勘误,都会令笔者和其他读者受益。
与本书相关的最新动态请访问以下网站:
http:www.decembercafe.org
勘误信息请发送邮件至:
phantomtyry@126.com
致谢
这是本书的第2版,在第1版的基础上修改和新增了很多内容。
感谢支持和购买本书第1版的读者,没有你们的帮助,本书不会有第2版。
感谢我的妻子,当我感到疲劳时,有她在身边总能让我感到安心。
感谢我的儿子,他是我最重要的精神支柱。
感谢本书的编辑付睿女士,她协助我完成本书的构思,并提出了很多建设性的意见。
读者服务
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
?下载资源:本书如提供示例代码及资源文件,均可在 下载资源 处下载。
?提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
?交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http:www.broadview.com.cn31505
|
|