# 导读

# D3

D3全称 Data-Driven Documents,意思是数据驱动文档,也就是操作数据,使其驱动页面数据的展示变化, 每个单词的开头D就是它D3简写的由来。

D3其实是D3.js,后缀.js因为D3是一个JavaScript程序库,可以结合HTML,SVG,Canvas,CSS来处理数据展示。

D3 2011年面世,同年的8月发布了2.0.0版。到2018年4月,D3已更新到了5.5.0版,当前已经更新到了7.6.1版本,D3是非常成熟的工具库。

D3是一个使用动态图形进行数据可视化的JavaScript程序库。可以使用现有的SVG、Canvas、JavaScript和CSS来帮助展示数据,与W3C标准兼容。无论浏览器怎么迭代更新,D3 都不会过时。

D3 的设计理念是把数据映射到视觉元素(形状、长度、方向、角度、颜色、面积、文本等)并通过视觉元素的组合来进行数据可视化。与其他的程序库相比,D3对视图结果有很大的可控性,因此,D3 更加灵活,更加适用于创建定制化的交互式数据可视化。

# 学习D3前需要掌握

预备知识:HTML,CSS,JS,SVG/Canvas

编辑器:Notepad++、Sublime、VS Code 等,选择自己喜欢的即可

浏览器:Chrome、Firefox、Opera、safari、QQ浏览器、360极速模式等,推荐用 Chrome,不支持IE、360兼容模式

# 该栏目主要有文档和案例两部分

文档:D3系统性讲解文档

案例:D3的使用及各种案例验证积累

# D3相关网站及书籍,学习资料总结

# 官方API文档: https://github.com/d3/d3/wiki/

# 官方中文手册:https://github.com/d3/d3/wiki/API--中文手册

# D3 开发者Mike Bostock 的博客:http://bl.ocks.org/mbostock

介绍了很多D3 的编程技巧,讲解了部分API 的使用,还探讨了许多使用D3会遇到的问题的解决方案。

# D3 开发者Jason Davies 的个人网站:https://www.jasondavies.com/

包含很多在线示例。涉及一些API 的形象解释。扩展了D3 的地理投影。讲解了很多D3 的实现原理如贝塞尔曲线的动态演示等。还有一些像词云这样的实用插件。

# 文江博客-中文版API:https://www.wenjiangs.com/doc/d3-api

包含API手册和每个API 的讲解使用。

# SVG 在线教程:http://tutorials.jenkov.com/svg/index.html

讲解SVG 的基本功能,案例都可以在线演示。

可视化案例大都可以在线运行,并且已经按照类别组织好,可以通过关键词来筛选案例。

# D3交流社区:https://stackoverflow.com/questions/tagged/d3.js

D3交流社区,问题反馈及解答。

# mapshaper:http://mapshaper.org/

支持Shapefile,GeoJSON 和TopoJSON 文件的在线编辑和转换。

# 《数据可视化实战(使用D3 设计交互式图表)》

Scott Murray 著,李松峰译。这本书写得浅显易懂,是入门D3 的经典书籍。其中也有涉及 一些API 的简要介绍。

# 《D3.js In Action》

Elijah Meeks 著。涉及D3 数据可视化的方方面面,特别是数据可视化和D3.js 的原理,定 制组件,大数据可视化等内容很经典。内容详实丰富。

# 《Mastering D3.js》

Pablo Navarro 著。其中讲解了比较实用的地理可视化和实时数据可视化,包含部分API 的介绍。

Last Updated: 2/28/2023, 6:01:28 PM