可视化 之D3 与echarts 对比以及应用场景
可视化:我们想要看出一组数据的大小关系,单看数据显然不够直观。那么我们可以将它转换为一种简单易懂的图表的形式,就可以更加直观的获取数据所传递给我们的信息。这个过程就叫做数据可视化。
可视化常用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 对比以及应用场景的更多相关文章
- d3与echarts的区别
1. 目前各大公司的大数据平台多使用d3还是echarts?什么时候适合用echarts,什么时候适合用d3? 在我看几种数据可视化平台多使用折线图,面积图和柱状图,条图居多,对于echarts和d3 ...
- 贝塞尔曲线(面)二三维可视化(Three+d3)
贝塞尔曲线(面)二三维可视化(Three+d3) 在学完 games101 几何后开始实践,可视化贝塞尔曲线 我想实现三维的贝塞尔曲线,用 threejs,但是 threejs 控制太麻烦了,因此,我 ...
- 【java】Map、Set、List不同数据结构的各种不同循环迭代的效率对比,使用场景
Map.Set.List不同数据结构的各种不同循环迭代的效率对比,使用场景 引申一个地址:Map迭代的使用keySet和entitySet的效率
- 1.前端数据可视化插件:Highcharts、Echarts和D3(区别)
前端数据可视化插件有很多,但我用过的只有Highcharts(https://www.hcharts.cn/).Echarts(http://echarts.baidu.com/)和D3(https: ...
- Webstorm+Webpack+echarts构建个性化定制的数据可视化图表&&两个echarts详细教程(柱状图,南丁格尔图)
Webstorm+Webpack+echarts ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(I ...
- 数据可视化(7)--D3基础
一直想写写D3,觉得D3真心比较强大,基本上你能想出来的图表都能绘制出来,只不过使用起来比前几个要稍麻烦一点. 正好最近读完了<数据可视化实战>,将关于D3的知识梳理了一遍,写这篇博客记录 ...
- 【可视化】DataV接入ECharts图表库 可视化利器强强联手
DataV接入ECharts图表库 可视化利器强强联手 摘要: 两个扛把子级产品的结合,而且文末有彩蛋. DataV 数据可视化是搭建每年天猫双十一作战大屏的幕后功臣,ECharts 是广受数据可视化 ...
- 交互式数据可视化-D3.js(四)形状生成器
使用JavaScript和D3.js实现数据可视化 形状生成器 线段生成器 var linePath = d3.line() - 使用默认的设置构造一个 line 生成器. linePath.x() ...
- 交互式数据可视化-D3.js(三)比例尺
线性比例尺 线性比例尺是常用比例尺常用方法有: var linear = d3.scaleLinear() - 创建一个定量的线性比例尺. linear.domain([numbers]) - 定义或 ...
- 数据可视化(8)--D3数据的更新及动画
最近项目组加班比较严重,D3的博客就一拖再拖,今天终于不用加班了,赶紧抽点时间写完~~ 今天就将D3数据的更新及动画写一写~~ 接着之前的博客写~~ 之前写了一个散点图的例子,下面可以自己写一个柱状图 ...
随机推荐
- 升级grafana
We recommend everyone to upgrade Grafana often to stay up to date with the latest fixes and enhancem ...
- Power shell 读取电量,改变屏幕亮度
1. Get-Wmiobject -List win32* # 列出所有win32_信息(基本的BIOS,Battery , Memory, processor) 2.Get-WmiObject ...
- 苹果ios APP怎么打包?推荐这个网站
众所周知,苹果的应用开发需要基于苹果电脑环境,而我们很多开发者并不具备这样的条件.如果你买一台贵的苹果电脑只是为了发布一个应用,成本太高了! 就算你有苹果电脑,你也可以自己开发一个基于web的IOS应 ...
- SpringMVC的学习day01
什么是SpringMVC 基于狂神说SpringMVC课程的学习 前面已经学习了spring.javaSE.javaweb.mybatis等知识,今天开始学习springMVC,是ssm框架的最后一个 ...
- 记录安装perl-Verilog过程
开始,编译带Verilog::Netlist的脚本,报 YumRepo Error: All mirror URLs are not using ftp, http[s] or file.centos ...
- pytest(5)-自定义用例顺序(pytest-ordering)-后续学习
前言 测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果. 有些同学在写用例的时候,用例写了先后顺序, 有先后顺序后,后面还会有新的问题(如:上个用例返回 ...
- 《在编译两个不同的库时,不想相互include头文件,但又需要用到对方的函数,可以用extern》
以下是个人理解,水平有限,可能不太准确.有问题,麻烦指出. demo: a.so void a_fun(void) { b_fun(); } b.so void b_fun(void) { //略 } ...
- 路由器WDS(无线桥接,无线中继)
路由器WDS(无线桥接,无线中继)设置,网上的坑货教程只教了一半,却不教另一半.这些教程一般会教你填写远程路由(被中继的路由器信息),顶多再教你把本地路由的网段,改得跟远程路由一样,或关掉本地路由的D ...
- cookie、session入门
一.cookie是由http制定的 二.使用方法 1.原始方法 使用request接受Cookies请求头 使用response发送set-Cookies响应头 2.常用方法 response.add ...
- 2022年JMUCTF WP
2022年JMUCTF WP crypto 2,Are you ok Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. ...