可视化:我们想要看出一组数据的大小关系,单看数据显然不够直观。那么我们可以将它转换为一种简单易懂的图表的形式,就可以更加直观的获取数据所传递给我们的信息。这个过程就叫做数据可视化。
可视化常用2个前端库echarts和D3.

echarts: 和 D3 js很相似,是封装好的,配置好即可使用,方便,上手快,成本低,但是不够灵活。只能修改配置项,不能自己添加和操作不存在的配置项。

d3:全称Data-Driven Documents,其实就是一个数据驱动的文档的js库,简而言之就是一个数据可视化的库。

区别

echarts 底层是使用canvas绘制图形,canvas不支持事件处理器,所以只能展示数据,而不能修改。
D3  底层是通过svg绘制图形的,二者不同之处在于svg可以操作dom,支持事件处理器,可以调用相关方法直接操作,支持链式语法,和JQuery链式调用差不多。

小结:

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

D3与echart的适用场景

因为D3支持事件处理器可以操作dom,所以项目开发中有较多用户交互的场景,可以使用D3

.如果没有与用户交互的场景,只需要将图表展示给用户看,而不需要更改,可以使用echarts。因为D3它展示的每一个数据都是一个标签,所以当数据发生改变的时候图表会重新渲染,会不停的操作dom,这对性能的消耗是非常大的。

可视化 之D3 与echarts 对比以及应用场景的更多相关文章

  1. d3与echarts的区别

    1. 目前各大公司的大数据平台多使用d3还是echarts?什么时候适合用echarts,什么时候适合用d3? 在我看几种数据可视化平台多使用折线图,面积图和柱状图,条图居多,对于echarts和d3 ...

  2. 贝塞尔曲线(面)二三维可视化(Three+d3)

    贝塞尔曲线(面)二三维可视化(Three+d3) 在学完 games101 几何后开始实践,可视化贝塞尔曲线 我想实现三维的贝塞尔曲线,用 threejs,但是 threejs 控制太麻烦了,因此,我 ...

  3. 【java】Map、Set、List不同数据结构的各种不同循环迭代的效率对比,使用场景

    Map.Set.List不同数据结构的各种不同循环迭代的效率对比,使用场景 引申一个地址:Map迭代的使用keySet和entitySet的效率

  4. 1.前端数据可视化插件:Highcharts、Echarts和D3(区别)

    前端数据可视化插件有很多,但我用过的只有Highcharts(https://www.hcharts.cn/).Echarts(http://echarts.baidu.com/)和D3(https: ...

  5. Webstorm+Webpack+echarts构建个性化定制的数据可视化图表&&两个echarts详细教程(柱状图,南丁格尔图)

    Webstorm+Webpack+echarts   ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(I ...

  6. 数据可视化(7)--D3基础

    一直想写写D3,觉得D3真心比较强大,基本上你能想出来的图表都能绘制出来,只不过使用起来比前几个要稍麻烦一点. 正好最近读完了<数据可视化实战>,将关于D3的知识梳理了一遍,写这篇博客记录 ...

  7. 【可视化】DataV接入ECharts图表库 可视化利器强强联手

    DataV接入ECharts图表库 可视化利器强强联手 摘要: 两个扛把子级产品的结合,而且文末有彩蛋. DataV 数据可视化是搭建每年天猫双十一作战大屏的幕后功臣,ECharts 是广受数据可视化 ...

  8. 交互式数据可视化-D3.js(四)形状生成器

    使用JavaScript和D3.js实现数据可视化 形状生成器 线段生成器 var linePath = d3.line() - 使用默认的设置构造一个 line 生成器. linePath.x() ...

  9. 交互式数据可视化-D3.js(三)比例尺

    线性比例尺 线性比例尺是常用比例尺常用方法有: var linear = d3.scaleLinear() - 创建一个定量的线性比例尺. linear.domain([numbers]) - 定义或 ...

  10. 数据可视化(8)--D3数据的更新及动画

    最近项目组加班比较严重,D3的博客就一拖再拖,今天终于不用加班了,赶紧抽点时间写完~~ 今天就将D3数据的更新及动画写一写~~ 接着之前的博客写~~ 之前写了一个散点图的例子,下面可以自己写一个柱状图 ...

随机推荐

  1. js-防抖(简易版)

    /**  * 节流函数  */ var count = 1; var container = document.getElementById('container'); function getUse ...

  2. python批量将png图片转换为jpg图片

    参考引用链接如下:https://www.freesion.com/article/1866518882

  3. Visual Studio 2013图标变白

    今天一打开电脑,就发现我的Visual Studio 2013的图标变成白色的了,我点开程序发现程序照常可以运行. 于是我就百度,有的说看注册表,发现缺少文件,结果我也没缺,还有什么更换主题的,都不管 ...

  4. 使用Mybatis plus xml 记录过程

    <select id="selectByConditions" resultType="com.springboot.domain.DemoQueryModel&q ...

  5. MassTransit - .NET Core 的分布式应用程序框架

    简介 MassTransit 是一个免费的.开源的.NET 分布式应用程序框架.MassTransit 使创建应用程序和服务变得容易,这些应用程序和服务利用基于消息的松散耦合异步通信来实现更高的可用性 ...

  6. npm i error:0909006C:PEM routines:get_name:no start line 遇到问题解决

    找了大半天的问题,结果是有个httpd的线程开机自动启动,把端口占用了

  7. <string> <cstring> <string.h>

    <string>是C++标准库头文件,包含了拟容器class std::string的声明(不过class string事实上只是basic_string<char>的type ...

  8. python快速制作可视化报表

  9. 看到项目中的DateTimeFormat和JsonFormat就头大

    刚来这家公司的时候, 发现很多同事还在用这种方式写代码 当时以为是偶然, 刚才在群里发现还有好多人在交流应当加哪些注解, 声明时区问题. 当写一个东西感到麻烦的时候, 那么大概率是有低成本的更优解的 ...

  10. uniapp 弹窗输入

    借鉴链接:https://blog.csdn.net/qq_40894259/article/details/110200721 <template> <view class=&qu ...