快学熟用D3pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:快学熟用D3pdf/doc/txt格式电子书下载
推荐语:
作者:(德)菲利普·K.贾纳特.卡特,郭笑鹏译
出版社:机械工业出版社
出版时间:2020-05-01
书籍编号:30616689
ISBN:9787111655183
正文语种:中文
字数:147913
版次:1
所属分类:计算机-数据库
O’Reilly精品图书系列
快学熟用D3
D3 for the Impatient
(德)菲利普·K.贾纳特(Philipp K.Janert) 著
郭笑鹏 译
ISBN:978-7-111-65518-3
。
版权所有,侵权必究
客服热线:+ 86-10-68995265
客服信箱:service@bbbvip.com
官方网址:www.hzmedia.com.cn
新浪微博 @华章数媒
微信公众号 华章电子书(微信号:hzebook)
O’Reilly Media,Inc.介绍
O’Reilly以“分享创新知识、改变世界”为已任。40多年来我们一直向企业、个人提供成功所必需之技能及思想,激励他们创新并做得更好。
O’Reilly业务的核心是独特的专家及创新者网络,众多专家及创新者通过我们分享知识。我们的在线学习(Online Learning)平台提供独家的直播培训、图书及视频,使客户更容易获取业务成功所需的专业知识。几十年来O’Reilly图书一直被视为学习开创未来之技术的权威资料。我们每年举办的诸多会议是活跃的技术聚会场所,来自各领域的专业人士在此建立联系,讨论最佳实践并发现可能影响技术行业未来的新趋势。
我们的客户渴望做出推动世界前进的创新之举,我们希望能助他们一臂之力。
业界评论
“O’Reilly Radar博客有口皆碑。”
——Wired
“O’Reilly凭借一系列非凡想法(真希望当初我也想到了)建立了数百万美元的业务。”
——Business 2.0
“O’Reilly Conference是聚集关键思想领袖的绝对典范。”
——CRN
“一本O’Reilly的书就代表一个有用、有前途、需要学习的主题。”
——Irish Times
“Tim是位特立独行的商人,他不光放眼于最长远、最广阔的领域,并且切实地按照Yogi Berra的建议去做了:‘如果你在路上遇到岔路口,那就走小路。’回顾过去,Tim似乎每一次都选择了小路,而且有几次都是一闪即逝的机会,尽管大路也不错。”
——Linux Journal
译者序 学习的心与勇气的赞歌
时移世易,时光荏苒。
现在的前端和以前相比已经有了翻天覆地的改变,从混沌时期的原生JS到以操作DOM为主的jQuery,再到三大框架React、Angular和Vue,Node.js让前端程序员们也有能力把手伸向以前从未踏足过的服务端领域,Electron让前端程序员制作桌面应用成为可能,树莓派/Ruff让JavaScript在物联网(IOT)中也有了一席之地。
本书所讲的D3.js其实是数据可视化这一门类的库,市面上讲解它的书籍早已汗牛充栋。这本书虽然名字是“D3 for the Impatient”,其中的内容却并不简单,所用的D3版本也是相对较新的,相信可以为从事数据可视化的程序员和工程师提供帮助。
这是百花齐放的时代。
时代给了前端诸多的前进方向和更好的学习前景,同时也对知识的扎实程度和对新技术的关注度提出了挑战。太多太多的东西摆在我们面前,让我们深感迷茫和困惑。在这种情况下,我们首先要做的就是保持一颗学习的心,只有这样才能够保持竞争力,让自己不被淘汰。
比起对学习新技术的恐惧,我们更需要的是面对恐惧的勇气。科学研究也表明,人类的大脑天生就会排斥超出能力范围的事物,当一个人没有能力去完成一件事情时,就容易产生畏难情绪,害怕失败。但是,勇气是一个人处于逆境中的光明。因为害怕失败,所以更要鼓起勇气超越自己。突破了,你就成长了;退缩了,你就还待在以前的位置裹足不前。
人类的赞歌是勇气的赞歌,人类的伟大是勇气的伟大。
人生本就是一段不断超越自我的旅途。缺乏勇气的人总是举步维艰,不断被超越,总是听天由命,以为自己无能为力却总是因为恐惧放弃了抗争的机会。试着拥有一颗学习的心吧,试着鼓起前行的勇气吧!超越自己就是胜利。
新浪移动大前端
郭笑鹏(大笑)
前言
本书排版约定。
本书使用以下排版约定。
斜体(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出版)。
第1章 引言
D3.js(或称D3,指Data-Driven Document,数据驱动文档)是一个JavaScript库,以操作文档对象模型(Document Object Model,DOM)树的方式向用户直观地展示数据信息,现已成为网络中信息图形的事实标准。
尽管它的受欢迎程度很高,但它的学习曲线并不平坦。当然,我本人并不认为D3很复杂,也并不认为其庞大的API阻塞了开发者的学习道路(虽然说确实不少,但它的API结构和设计都很棒)。相反,我认为新用户遇到的许多困难都来自于他们想得太多。因为人们经常看到由D3开发的令人惊艳的图表,所以开发者们自然而然地将其视为一个“图形库”,他们从内心深处认为D3安排了图基,从而为常见的绘图类型提供了高级支持。正是这种先入为主的期望让用户在设置元素的颜色时面对冗长的指令感到不爽,这个“选择集”(selection)功能是做什么的?我直接用canvas画不行么?
这里的错误就是D3不是图形库。相反,它是一个操作DOM树的JavaScript库。它的基本构建单元不是圆形或矩形,而是节点和DOM元素。它并不涉及在canvas上绘制图形形状,而是通过属性来设置元素的样式。元素的“当前位置”和canvas上的xy坐标没有相似性,而是从DOM树节点的选择集中获取。
接下来是让新用户望而却步的第二道坎。D3作为和网页相关的技术,同样也依赖着其他的网页技术,比如DOM API和事件模型、CSS选择器和属性、JavaScript对象模型,当然还有可缩放矢量图形(Scalable Vector Graphics,SVG)。在大多数情况下,D3没有很深入地使用这些技术,且其自身的设计也处处反映了底层API。这就让环境一下子变得复杂了起来。如果你已经对HTML5等现代Web技术栈很熟悉了,那么你就会觉得毫无压力,否则的话,没有特定的抽象思维可能会让你感到困惑。
值得庆幸的是,你无须深入研究所有这些基础技术。D3为了让用户易于理解提供了大量的统一封装。唯一一个需要了解的技术是SVG。你必须花时间来充分了解它,不仅要了解指代的元素,还要了解图形中控制信息组织的结构元素。本书的附录B中列出了必要的知识点。如果你不熟悉SVG,那么我真诚地建议你在阅读本书之前先看看附录——这真的很有用。
1.1 谁适合读这本书
本书面向那些希望掌握D3的程序员和科研人员。这里假设你是一名不错的程序员并对数据和图形工作信手拈来。不过你无须对现代专业的网页开发有很深的了解。
以下是你应该了解的:
·至少了解一到两种编程语言(但不一定是JavaScript)并且有信心学习新语言的语法。
·熟悉现代编程概念,不仅是循环、条件和常用数据结构,还包括闭包和高阶函数。
·基本理解XML和文档结构。我希望你知道DOM以及它是如何将网页元素构建为树中节点的,但并不强求你一定要熟悉原始的DOM API或任何一个现代框架(比如jQuery)。
·熟悉简单的HTML和CSS(至少你应该能够识别和使用<body>和<p> 标签等),并且熟悉CSS的语法和机制。
但是如果你并没有什么耐心。比方说你对语言得心应手,但对于学习D3却很头大的话,那这本书就是你需要的!
1.2 为什么选择D3
为什么D3能够获得程序员和科研人员——甚至是非Web开发人员的青睐呢?
·D3提供了一种通过Web构建图形的便捷方式。如果你从事的是数据和可视化工作,通常来说你会在绘图程序中输入数据,然后将结果保存成PNG或PDF,接下来创建一个带有<img>标签的网页,以让他人看到你的工作。如若可以一键完成上面
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询