d3.js是什么 -k8体育

d3.js是一个使用动态图形进行数据可视化的javascript程序库。与w3c标准兼容,并且利用广泛实现的svg、javascript和css标准,改良自早期的protovis程序库。与其他的程序库相比,d3对视图结果有很大的可控性。

d3.js 是一个使用动态图形进行数据可视化的 javascript 程序库。与 w3c 标准兼容,并且利用广泛实现的 svg、javascript 和 css 标准,改良自早期的 protovis 程序库。与其他的程序库相比,d3 对视图结果有很大的可控性。d3 是 2011 年面世的,同年的 8 月发布了 2.0.0 版。

d3.js

d3.js 已被数十万个网站使用,最常被运用在在线新闻网站呈现交互式图形、呈现数据资料的图表和呈现含有地理信息的资料。另外 svg 的输出功能也使得 d3.js 能用于印刷出版物的绘制上。

历史

在 d3.js 开发之前已经有出现过许多尝试做资料可视化的包,例如 prefuse,flare 和 protovis 程序库,他们都可以视为 d3.js 的前身。然而 prefuse 和 flare 皆有缺点,皆不能只透过浏览器完成渲染,皆须要透过额外插件来完成。

例如 2005 年发布的 prefuse 是一个资料可视化程序库,但是它需要透过网页的 java 插件才能于浏览器中呈现;而 flare 是 2007 年发布的另一个资料可视化工具包,由于其是使用 actionscript 编程语言开发,因此也需要额外插件,即 flash 插件才能完成渲染。

2009 年,史丹佛大学的史丹佛可视化团队(stanford visualization group)的杰佛瑞·赫尔、迈克·保斯托和瓦迪姆·欧格菲兹齐利用开发 prefuse 和 flare 的经验开始用 javscript 开发了可从给定资料产生 svg 图形的 protovis 程序库。而 protovis 程序库在业界和学界皆有一定的知名度。

2011 年,史丹佛可视化团队停止开发 protovis,并开始开发新的资料可视化程序库,借由之前开发 protovis 的经验,开发出了 d3.js 程序库,在注重于 web 标准的同时提供了更丰富的平台也有了更好的性能。

d3 的全称是 data-driven document,可以理解为:由数据来决定绘图流程的程序设计模型。

d3 是一个 javascript 的函数库,是用来做数据可视化的。

将数据变成图形,要想用原生的 html、svg、canvas 来实现是烦琐和困难的。d3 为我们封装好这些,让开发者能更注重图表的布局和逻辑。

d3 的优势

javascript 的前端可视化库,除了 d3 外还有不少:highcharts、echarts、chart.js。它们可以看作一类的,共同特点是封装层次很高,能够非常简单地制作图表,但是给予开发者控制和设计的空间很少。封装层次太高自然会失去部分自由,但太低又会使程序过长,d3 在这一点上取得了平衡。

d3 的特性数据与元素捆绑的特性d3 能够将数据与 dom 绑定在一起,使数据与图形称为一个整体。计算和绘图相互独立的特性将数据变成图表,可分为两步:计算和绘图在 d3 里,计算和绘图是分开的。在可视化的设计比较复杂时,计算和绘图分开易于调整和操作细节。链式语法强大的图形计算能力同时支持 svg 和 canvassvg 和 canvas 是 html5 用于绘图的元素,分别用于绘制矢量图和标量图,各自有自己的适用领域。d3 3.x 以前是以 svg 为基础的,主要提供 svg 的绘图能力。从 4.x 开始支持 canvas。相关概念

数据可视化 和 信息可视化 很相近,有时几乎可以等同。但严格来说它们是不同的:

数据可视化是对数字信息进行可视化信息可视化是对数字信息和非数字信息进行可视化技术原理

d3.js 透过预先创建好迁入于网页中的 javascript 函数来选择网页元素、创建 svg 元素、调整 css 来呈现资料,并且也可以设置动画、动态改变对象状态或加入工具提示来完成用户交互功能。使用简单的 d3.js 函数就能够将大型的数据数据结构与 svg 对象进行绑定,并且能生成格式化文本和各种图表。其数据数据结构的格式可以是 json、csv(以逗号分隔的资料)或 geojson,也可以透过自己写 javascript 函数来读取其他或自定义格式的资料。

javascript 文件的后缀名通常为 .js,故 d3 也常使用 d3.js 称呼。d3 提供了各种简单易用的函数,大大简化了 javascript 操作数据的难度。由于它本质上是 javascript ,所以用 javascript 也是可以实现所有功能的,但它能大大减小你的工作量,尤其是在数据可视化方面,d3 已经将生成可视化的复杂步骤精简到了几个简单的函数,你只需要输入几个简单的数据,就能够转换为各种绚丽的图形。有过 javascript 基础的朋友一定很容易理解它。

(0)

相关推荐

  • 电脑一体机(aio)是目前台式机和笔记本电脑之间的一个新型的市场产物,它将主机部分、显示器部分整合到一起的新形态电脑,该产品的创新在于内部元件的高度集成。 电脑一体机是目前台式机和…

  • 白条取现审核未通过额度会立刻恢复。只有取现成功才会消耗掉白条取现额度。京东白条取现审核未通过是指用户申请白条取现以后,没有通过系统审核,无法继续后续取现操作,理论上来说是可以立刻重…

  • 做完热玛吉之后12小时之内不要碰冷水;建议第二天每隔4小时做一次补水;做完热玛吉之后2周不要做健身运动;不要吃辛辣刺激的食物,不要抽烟、喝酒,要多喝水增加体内的排泄;在做完热玛吉之…

  • 关机是我们日常使用电脑时最常用的操作之一,但是有时候我们会不小心点错,把重启当成了关机,导致电脑突然重启,这是为什么呢?下面我们就来一一解答。可能的原因:1.系统故障:如果你的电脑系统出现了故障,可能会导致你在关机时出现重启的情况。这种

    2023年10月4日
  • 目前,微信是我国最热门的社交软件。从相关数据可以看出,微信的用户已经超过 10 亿,主要集中在中国大陆,我们需要知道的是,大陆手机网民已经超过 9 亿。可以说,大多数人都有微信,有…

  • 尼康d70s是一款经典的单反相机,它的出现让更多的摄影爱好者可以拥有一台性价比高、功能强大的相机。但是,有很多人对于尼康d70s是否支持实时取景模式这一问题存在疑惑。在本文中,我们将会为大家详细介绍尼康d70s是否支持实时取景模式。一、尼

    2023年10月4日
  • linux是一种开源电脑操作系统内核。它是一个用c语言写成,符合posix标准的类unix操作系统。 linux 是一种开源电脑操作系统内核。它是一个用 c 语言写成,符合 pos…

  • 罗技 m510 2.4g无线鼠标凭借其符合人体工程学的设计,可长时间使用、电池寿命长和精确的光学跟踪,是预算有限的游戏或办公室工作的绝佳选择。 你无需费力寻找最佳鼠标,它在您工作时…

  • 交换机用一根网线上网,上网是分别拨号,各自使用自己的宽带,上网没有影响。而路由器比交换机多出一个虚拟拨号功能,同一台路由器上网的电脑共用一个宽带账号,上网会相互影响。 交换机用一根…

  • 净利润是指企业当期利润总额减去所得税后的金额,即企业的税后利润。所得税是指企业将实现的利润总额按照所得税法规定的标准向国家计算缴纳的税金。它是企业利润总额的扣减项目。 净利润是指企…

  • 交行信用卡还款日也就是账单日后的第 25 天,如果你的信用卡账单日为固定的每月 3 号,那还款日就是账单日后第 25 天,也就是每月 28 号。 交行信用卡还款日也就是账单日后的第…

  • emui 不是鸿蒙系统,这两个都是独立的系统。emui是华为基于android进行开发的情感化操作系统,并且拥有简化的用户界面,新的手势导航以及hivision的ai功能,提供了良…

  • 实名认证可以认证15个手机号,每个运营商都可以认证5个手机号,app一般只能实名认证一个账号。1个手机号可以绑定注册1个微信号,所以一个身份证可以绑定注册15个微信号。 实名认证可…

  • 苹果13是苹果公司最新推出的手机产品,备受消费者的关注。但是,很多用户在使用苹果13时,都会遇到一个问题,那就是如何更新系统。本文将为大家详细介绍苹果13在哪更新系统的操作步骤。一、备份数据在更新系统之前,首先需要备份手机中的重要数据。

    2023年10月2日
  • 患有疾病的人也是可以买保险的,一些险种是不需要健康告知的,就算是需要健康告知的险种,也得看是什么疾病才能做出决定。 患有疾病的人也是可以买保险的,一些险种是不需要健康告知的,就算是…

发表回复

登录后才能评论
网站地图