D3.js与echart.js的应用场景

栏目: JavaScript · 发布时间: 5年前

内容简介:D3.js的全称是Data-Driven Documents,其实就是一个数据驱动的文档的js库,简而言之就是一个数据可视化的库。那什么是数据可视化呢?举个例子:给出一组数据 [10,80,40,100,30,20,50]如果我们想要看出这组数据的大小关系,单看数据显然不够直观。那么我们可以将它转换为一种简单易懂的图表的形式(如下图)这样我们就可以更加直观的获取数据所传递给我们的信息。这个过程就叫做数据可视化。

D3.js的全称是Data-Driven Documents,其实就是一个数据驱动的文档的js库,简而言之就是一个数据可视化的库。那什么是数据可视化呢?举个例子:

给出一组数据 [10,80,40,100,30,20,50]

如果我们想要看出这组数据的大小关系,单看数据显然不够直观。那么我们可以将它转换为一种简单易懂的图表的形式(如下图)这样我们就可以更加直观的获取数据所传递给我们的信息。这个过程就叫做数据可视化。

D3.js与echart.js的应用场景

在我们平时的项目开发中经常会遇到这种情况:后端返回给我们一组数据,前端人员需要把数据以一种很舒服、很直观的方式给别人展现出来,最好的选择就是通过图表,图表可以很直观的把庞大的数据以一种合适的方式展现给我们。但是如果通过js,css去自己写出这些图表显然是很麻烦的。所以就有D3.js。

使用D3可以绘制图表可以大大的提升我们的开发速度。而且使用起来比较灵活,换言之(想画什么就画什么)。D3是一种偏函数式编程的方式,这也是他比较复杂的地方,正因为他比较灵活,所以它所涉及的东西比较底层,学习成本就比较大。下面是一些D3.js绘制出的图例:

D3.js与echart.js的应用场景

这些只是官网中的一小部分,感兴趣的同学可以去官网看看。可以看出,使用D3绘制的图表看起来都很灵活。我们在项目中使用的时候只需要将数据和相应的图表结合起来,就可以将图表渲染在页面上了。

什么是echarts?

顾名思义echarts其实也是一个数据可视化的工具,它和D3的作用很类似。echarts是封装好的,所以我们使用起来很方便,只用填写他的配置项就可以使用,但也恰恰因为它被封装好的缘故,所以灵活性较差,我们只能修改它所存在的配置项,如果想要自己添加或修改配置项中不存在的东西是不可以的。下面试echarts的一些图表示例:

D3.js与echart.js的应用场景

echarts和D3的区别

既然echarts和D3的作用相似,那他们有什么不同之处呢?我觉得他们之间最大的不同之处就在于echarts它是使用canvas来绘制图形的,而D3是通过Svg来绘制图形的。这两者的不同之处在于,svg可以操作dom支持事件处理器,想要实现某个操作,直接调用相关的方法实现效果就行,他那个里面存在链式语法,这个和jQuery的链式调用差不多,简单易读。canvas不支持事件处理器所以只能展示数据,而不能修改。

  • D3使用svg绘制图形,echarts使用canvas绘制图形
  • D3兼容IE9及以上主流浏览器,echarts兼容IE6及以上主流浏览器
  • D3使用灵活,学习成本大,echarts封装好的,使用简单,不够灵活

D3与echart的适用场景

因为D3支持事件处理器可以操作dom,所以如果在项目开发中如果有较多用户交互的场景,可以使用D3.如果项目中一般没有用户交互的场景,我们只需要将图表展示给用户看,而不需要更改,可以使用echarts。因为D3它展示的每一个数据都是一个标签,所以当数据发生改变的时候图表会重新渲染,会不停的操作dom,这对性能的消耗是非常大的。

这里只是简单的介绍一下echarts和D3,感兴趣的同学可以去官网查看具体使用方法,官网上都介绍的非常详细,有时间也可以自己实践一下,也会有很大的收获,而且用echarts和D3开发的项目看起来会比较高大上一点~


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

黑客渗透

黑客渗透

冰的原点 / 齐鲁电子音像出版社 / 2009-4 / 22.00元

菜鸟起飞,从这里开始!本笔记将透露:渗透、术语、脚本、内网、溢出各种攻击相关的手段和名词,总结、技巧、细节、亮点,不断变化的攻击思想。 ASP、PHP、JSP等不同类型的脚本漏洞,ACCESS、MYSQL、MSSQL、ORACLE等不同类型的数据库缺陷,国内、国外已知和末知的渗透工具······一起来看看 《黑客渗透》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具