Learn-D3因为中文教程比较少,所以专门新建了一个d3相关学习(含demo)的中文仓库。分享内容:深入讲解D3内部模块有一个整体的系统认知分析-实例ObservableD3团队分享实例的环境介绍第一点作为重点,本系列将全面涵盖D3概念,例如:选择,连接、数据请求、缩放函数、事件处理和转换。D3-IntroductionD3.js是一个用于在Web上创建自定义交互式图表的JavaScript库。D3的全称是Data-DrivenDocuments。D开头的三个单词也是其缩写D3的由来。大多数图表库(例如:Echarts)都提供现成的图表,而D3包含许多可用于构建自定义图表或地图的基本构建块。尝试在codepen中编辑上面的示例。用echarts.js制作上面的柱状图只需要几行代码,但是用D3制作上面的柱状图会比较复杂,因为它提供了更底层(细粒度)的方法。并且需要一些JavaScript、HTML、SVG和CSS方面的经验。如果我们的需求只是标准的条形图、折线图或者饼图,那么应该考虑使用Echarts等库。但是,如果你需要自定义图表或者有非常精确的需求,你应该考虑D3js。D3的优势和作用是什么?非常受欢迎(数亿次下载和100,000颗星),社区活跃,并且有大量开发资源(主要由D3团队发布)。超级灵活,专注于图表组合的基本元素,如刻度、形状。提供HTML和SVG元素的数据驱动修改。各种标准数据加载数据处理(如CSV数据)。用于生成复杂图表的助手,例如树形图、网络图。用于在不同图表状态之间进行动画处理的强大过渡效果。(非常多的内置功能)强大的用户交互支持,包括平移、缩放和拖动。D3里面有哪些模块?以上都是D3的repository(仓库),大致分为几类:常用的,基本的(带五角星,本系列也会讲解)。例如:shapes选择工具类例如:timeformattimer已经过时,很久没有更新了。bundlerrequest注意本系列不会涉及到源码的讲解。以后有需要会补充。本系列的内容(content)是本系列内容的大纲。下面简单介绍一下:Selection&datajoinsSelection支持以数据驱动的方式对HTML和SVG元素进行增删改查。.包含了很多处理元素的函数,比如:选择元素,修改元素...datajoins支持绑定数据和元素(即数据连接)。两者都是D3的基本模块。例如,数据请求可以帮助从给定的URL请求文件并将文件数据转换为JavaScript数组(CSV)。这使得以后处理真实数据变得非常容易。支持CSVJSONTXT多种格式。力布局是通过特定的物理规则来模拟的,帮助我们以特定的方式展示元素信息。提供现成的内置力函数并支持扩展。transitionstransitions可以在不同的图表状态下平滑过渡和制作动画。例如,有一些圆形元素在用户点击更新数据时平滑过渡到新的坐标位置。为图表添加了视觉吸引力。最后,D3一直是JavaScript中最重要的数据可视化库之一。在创作者MikeBostock的维护下,未来是充满希望的,至少目前是这样。也就是说,在学习数据可视化的过程中,即使出发点不同,无论是渲染库、算法库、工具库甚至工程架构。D3这座山一定要爬。那么当你看到这里的时候,说明你对上面的内容很感兴趣,那我们就开始具体模块的学习吧。
