D3 API详解(全彩)
  • 推荐0
  • 收藏1
  • 浏览1.4K

D3 API详解(全彩)

张天旭 (作者) 

  • 书  号:978-7-121-27899-0
  • 出版日期:2016-01-26
  • 页  数:312
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:付睿
大数据时代,数据的价值愈加重要,数据在经历了数据获取、数据挖掘、数据展示三个主要阶段后直面用户。数据可视化处于这条生产链的下游,控制着数据对用户的输出,它的优劣直接决定了数据处理的效果。
D3作为最流行的开源的Web数据可视化工具之一,支持大数据量数据可视化展示,提供丰富的布局和生动的交互功能,能够充分表现数据的内涵,激发用户兴趣并增强用户与数据的沟通。
本书从基本语法特点、可视化布局、实际应用开发三个方面介绍D3,以期读者能够循序渐进掌握D3数据可视化开发的技能从而应用到科研和商业应用中。
全彩印刷,介绍全面系统,包含大量浅显直观的案例,非常简单易学
前言

数据可视化是用图形图像等方式表现数据内涵的技术。俗话说“一图胜千言”,数据可视化最重要的意义在于让数据变得简单直观。它有效利用了人眼的感知能力和大脑的处理能力,让数据中蕴含的规律一目了然。尤其是在大数据时代,数据可视化已成为一座桥梁,跨越了数据和使用者之间的鸿沟,减少了在数据分析、交流和传播中的障碍。它使得人们对海量、复杂数据的阐释和理解变得事半功倍。在很多情况下,数据可视化是理解和表达数据的有效手段,有时甚至是唯一的手段。
数据可视化的强大魅力还源于它是美而生动的。只有一堆数据难免枯燥乏味,可视化技术给数据穿上了华丽的外衣,丰富的交互功能增添了数据的灵动性。数据可视化绽放了数据之美。它让数据变得生动鲜活,有效地吸引了人们的注意力,能大大激发人们的好奇心和求知欲。让人们在与数据的交互过程中不仅探索到了知识还收获了乐趣。正因为如此,数据可视化技术蓬勃发展,在互联网、生物、金融、医学、建筑、教育、国防等需要展现数据的行业都有广泛的应用。
工欲善其事必先利其器。D3 是当今最流行的数据可视化工具之一。D3 是一个JavaScript库,擅长绘制交互式矢量图表,底层使用了SVG 绘图技术并通过数据驱动创建文档。D3 提供的API 主要包括对HTML 和SVG 文档的操作、处理多种格式的数据、为特定的可视化布局生成数据,以及提供丰富的交互和动画功能等。通过这些编程接口,我们既不用太关心底层实现,也不会因为封装程度太高而很难修改,所以D3 比Processing1这样的底层绘图库更简单,比Echarts2这样高度封装的图表库更自由,是一个灵活轻量的前端数据可视化库。而且D3 不依赖其他的库,你可以充分发挥想象,仅用D3 就可以创造绚丽多彩的数据可视化作品。当然,到底要不要使用D3 还需要根据具体情况进行选择,表0.1 可以作为一个技术选型的参考。
0.1 D3 的适用范围
考虑因素 适用范围
开源 D3 基于开源协议BSD-3-Clause3,可以免费用于商业项目。源码托管在GitHub 上4,截至2015年9 月26 日star 数已达41869 次,fork 数达11021 次,有大量用户和丰富友好的案例
兼容性 支持Firefox、Chrome、Safari、Opera、IE9+等现代浏览器。支持Android 和iOS 平台
功能 D3 擅长于绘制二维Web 数据可视化矢量图表,支持丰富的交互功能,支持创建自定义可视化方案。但不支持3D 可视化,并且加载到浏览器的数据量不能太大(10MB 以内较合适)。D3 不是现成的图表库,相比于封装好的图表库学习和开发成本都较高
目前D3 的官方文档已经十分全面了,涵盖了600 多个函数,全文接近6 万个单词。然而,D3 参考文档中的专业术语较多,很多地方表述十分晦涩艰深,原文中的示例代码较少,况且对于初学者来说直接看英文也很吃力。本书笔者为了方便D3 学习者更好地理解和使用D3,对D3 官方API(应用程序编程接口)5进行了详细介绍,不仅翻译了API 全文,还为大部分函数都编写了简单的示例代码。下面,我们先来看看本书涉及的D3 官方文档主要包含哪些内容,D3 API 总览如表0.2 所示。
表0.2 D3 API 总览
内容 简介
核心(Core) 包括选择器、过渡、数据处理、本地化、颜色等
比例尺(Scales) 在数据编码和视觉编码之间转换
可缩放矢量图形(SVG) 提供用于创建可伸缩矢量图形的实用工具
时间(Time) 解析或格式化时间,计算日历的时间间隔等
布局(Layouts) 推导定位元素的辅助数据
地理(Geography) 球面坐标,经纬度运算
几何(Geometry) 提供绘制2D 几何图形的实用工具
行为(Behaviors) 可重用的交互行为
本书覆盖了绝大部分的API,为方便使用,本书尽量保持与官方文档结构一致,对表0.2的每个部分单独成章介绍。本书所用的D3 版本是3.5.5,全文案例在Chrome 浏览器中调试通过。一些简单的函数直接使用浏览器的控制台演示,少部分案例需要使用服务器运行,大部分案例都可以直接打开HTML 文档来查看效果。对于本书的使用,强烈建议读者朋友们边看文字表述边参考示例代码动手实践。本书的随书源码可在https://github.com/tianxuzhang/d3-api-demo/archive/master.zip 和http://www.broadview.com.cn/下载使用,通过量的积累最终一定会有质的改变。大家要保持对新技术的兴趣和对理想的热情,在自学的同时多分享多讨论。D3 的学习会是很有成就感的,希望读者可以通过本书感受到数据可视化的魅力,能从中收获快乐。
致谢
首先要感谢章成志教授的启蒙教育,是他让我了解到D3 这门技术。并且,在学习和生活中给予了我足够的信任和支持。可以说,章老师是我真正的良师益友。
其次,感谢Mike Bostock 以及其他D3 贡献者,是他们开发了D3 这个优秀的数据可视化库,并且提供了大量简单实用的案例。正因为如此,才能让我们有机会领略数据可视化的奇妙。
还要感谢CSDN 这个平台,CSDN 是中国程序员最常使用的技术网站。通过CSDN 让我能够与更多数据可视化爱好者相识并共同探讨D3 相关技术。
感谢电子工业出版社的付睿编辑,没有伯乐就没有千里马,谢谢她给予我这个机会编写本书。感谢顾慧芳编辑,谢谢她为本书辛勤校对和编辑,这有效地保障了本书的质量。
最重要的是要感谢参与D3 参考文档翻译以及对本书提供帮助的人,他们是:崔博敏、何凯琳、张玉杰、季国亮、张烁、边城、卫学士、翟琰琦、路明非、何丽、谁浮、马语者、现明涟漪、Carry on、陶凜然、李琛婧、赵荣和宋墩江以及其他关心和支持我的人,和你们的讨论和交流是我最温暖的回忆。
最后,也是最应该感谢的是一直与我并肩奋斗的魏飞,感谢那些安静得只剩下键盘声的夜晚,每一个奋斗的日子都值得深深铭记。
由于作者水平有限,书中难免有错误之处,我们渴望得到您的反馈,如果发现问题请发送邮件至zhang_tianxu@sina.com,或者在新浪微博上@D3 数据可视化给我们批评指正。
张天旭
2015 年9 月

目录

目录 阅读
第1章 核心(Core)
第2章 比例尺(Scales)
第3章 可缩放矢量图形(SVG)
第4章 时间(Time)
第5章 布局(Layouts)
第6章 地理(Geo)
第7章 几何(Geometry)
第8章 行为(Behaviors)

读者评论

  • 3.5和4.0api相差太多了,建议出一版最新的

    wangshanbo发表于 2017/2/7 14:15:58
  • dreamphilips发表于 2016/10/28 11:58:40

下载资源

电子书版本

  • Epub
  • Mobi

相关图书

Kubernetes源码剖析

郑东旭 (作者)

本书主要分析了Kubernetes核心功能的实现原理,是一本帮助读者了解Kubernetes架构设计及内部原理实现的书。由于Kubernetes代码量较大,源码...

 

Kubernetes in Action中文版

Marko Luksa (作者) 李雪瓅 (译者)

本书主要讲解如何在 Kubernetes 中部署分布式容器应用。本书开始部分概要介绍了 Docker 和Kubernetes 的由来和发展,然后通过在 Kube...

¥148.00

Docker微服务架构实战

蒋彪 (作者)

微服务与Docker 是近年来分布式大规模服务架构中两个主流的技术趋势,本书主要介绍中小型企业在架构落地过程中柔性地切入微服务和Docker 虚拟化的各种方法。...

¥39.00

Kubernetes容器云运维实战

闫健勇 (作者)

本书是基于《Kubernetes权威指南:从Docker到Kubernetes实践全接触》进行企业级容器云平台建设的实战指南,力图对容器云平台的建设、应用和运营...

¥89.00

Java云原生

Josh Long, Kenny Bastani (作者) 张若飞 (译者)

无论是传统IT行业,还是互联网行业,都正处于行业历史上最剧烈的变革中 :大量的系统正在从传统的IT架构转向基于云的架构, 开发模式也正在从开发和运维分工的传统模...

¥128.00

生产微服务

Susan Fowler (作者) 薛命灯 (译者)

本书全面地探讨了微服务,作者从运行超过一千个微服务的高生产准备标准中获取经验,探讨了适用所有微服务的标准,分享了使微服务处于生产就绪状态的策略,为读者展现出一个...

¥35.00