最近接触到了Echarts这个JavaScript图表库,感觉已经被它的多种多样的绚丽图形深深地吸引了,所以我决定去学习它,了解它。

今天先来对它进行一些初步的了解。

ECharts介绍:

官方解释:

ECharts is a free, powerful charting and visualization library offering an easy way of adding intuitive, interactive, and highly customizable charts to your commercial products. It is written in pure JavaScript and based on zrender, which is a whole new lightweight canvas library.

翻译过来就是:ECharts是一个免费的、功能强大的、可视化的一个库。它可以非常简单的往软件产品中添加直观的、动态的和高度可定制化的图表。它是一个全新的基于zrender的用纯JavaScript打造完成的canvas库。

简单的说,echarts就是一个帮助数据可视化的库。这个功能可就不起啊,相信在上学的时候很多老师就说过,能用图表展示的就千万别用文字这句话,是的图表可以很直观的把庞大的数据以一种合适的方式展现给我们,我们也能通过进行图表分析得出有价值的信息。所以作为一个前端人员来说,就是为了把数据以一种很舒服、很直观的方式给别人展现出来,所以说这是前端人员的必备神器啊!!

ECharts的特性:

凡是什么东西肯定要好用用的人才多是吧,不好用的东西就算说出花来也改变不了其本质,那么ECharts有哪些特性了?

特性一:它有非常丰富的图表类型

echarts不仅提供常见的如折线图柱状图`散点图饼图K线图等图表类型,而且ECharts 提供了用于地理数据可视化的地图热力图线图,用于关系数据可视化的关系图treemap,多维数据可视化的平行坐标,还有用于 BI 的漏斗图仪表盘,并且支持图与图之间的混搭

特性二:多个坐标系的支持

echarts 3 开始独立出了“坐标系”的概念,支持了直角坐标系(catesian,同 grid)、极坐标系(polar)、地理坐标系(geo)。图表可以跨坐标系存在,例如折、柱、散点等图可以放在直角坐标系上,也可以放在极坐标系上,甚至可以放在地理坐标系中。

特性三:移动端的优化

流量珍贵的移动端需要图表库的体积尽量小。ECharts 和 ZRender 代码的重构,带来了核心部分体积的减小。ECharts 组件众多,并且后面会持续增加,我们提供了更细粒度的按需打包能力。最小体积缩小为 ECharts 2 的 40%。

移动端交互也做了优化,例如移动端小屏上适于用手指在坐标系中进行缩放、平移。 PC 端也可以用鼠标在图中进行缩放(用鼠标滚轮)、平移。有很好的PC端和移动端的兼容性和适应性。

特性四:深度的交互式数据探索

交互是从数据中发掘信息的重要手段。“总览为先,缩放过滤按需查看细节”是数据可视化交互的基本需求。
echarts 提供了legend visualMap dataZoom tooltip等组件以及图表附带的漫游,选取等操作提供了数据筛取、视图缩放、展示细节等能力。echarts 3 中,对这些组件进行了广泛增强,支持在数据的各种坐标轴、维度进行数据过滤、缩放,以及在更多的图中采用这些组件。

特性五:大数据量的展现

现在的时代是大数据时代,越来越多的数据堆积,如何才能使这些数据发挥它应有的价值是一件值得我们深思的事情。echarts对大数据的处理能力非常好,借助 Canvas 的能力,ECharts 在散点图中能够轻松展现上万甚至上十万的数据。

特性六:多维数据的支持以及丰富的视觉编码手段

echarts 3 加强了对多维数据的支持。除了加入了平行坐标等常见的多维数据可视化工具外,对于传统的散点图等,传入的数据也可以是多个维度的。配合视觉映射组件 visualMap 提供的丰富的视觉编码,能够将不同维度的数据映射到颜色,大小,透明度,明暗度等不同的视觉通道。

特性七:动态数据

echarts 由数据驱动,数据的改变驱动图表展现的改变。因此动态数据的实现也变得异常简单,只需要获取数据,填入数据,echarts 会找到两组数据之间的差异然后通过合适的动画去表现数据的变化。配合 timeline 组件能够在更高的时间维度上去表现数据的信息。

特性八:绚丽的特效

这个特性是从视觉效果上最吸引人的一个特性,echarts 针对线数据,点数据等地理数据的可视化提供了吸引眼球的特效如模拟迁徙等特效。

或许有人会说那为什么不选择highcharts了?highcharts在某些方面比echarts更好啊,是的,不可否认highcharts可能的确在某些方面比echarts好,但是,echarts是开源的、免费的的而highcharts是要收费的,,,所以基于这个层面,很多人可能也会选择echarts。更加重要的一点是echarts是国产的,它是国内百度公司的一个技术团队维护开的开源工具项目,所以,体现爱国主义精神的时候到了。。。

highcharts与echarts在性能方面的比较

  • highcharts是基于SVG的,SVG的节点可以向dom节点一样控制,所以在自主创作图形方面非常方便,但是SVG是2D矢量图,不能画3D图形,而且SVG的节点都是对象,会非常占用内存。

  • 同样虽然canvas也只支持2D绘图,不支持3D绘图。但是canvas绘图不会给每个点生成对象,因此绘制图形可以非常快,占用内存特别少,兼容性也比较好,除了IE6,其他浏览器都可以支持。

Echarts学习之路 —— echarts介绍相关推荐

  1. ECharts学习总结(五):echarts的Option概览

    注:下面内容摘自echarts官网,原文地址:http://echarts.baidu.com/doc/doc.html#%E9%80%89%E9%A1%B9 option 图表选项,包含图表实例任何 ...

  2. 软件测试 学习之路 基本介绍

    一.软件测试定义 通过手工或者工具对 "被测对象"进行测试操作,从而验证实际结与预期结果之间是否存在差异 . 二.软件测试的作用 1.通过测试工作可以发现并修复软件当中存在的缺陷, ...

  3. Echarts 学习系列(3)-Echarts动态数据交互

    写在前面 上一小节,我们总结了折线(面积)图.柱状(条形)图.饼(圆环)图类型的图表. 但是,都是静态的.接下来的,这一小节,总结的是Echarts 动态数据的交换. 前置条件 开发环境:win10 ...

  4. echarts学习笔记1

    可视化面板介绍 ​ 应对现在数据可视化的趋势,越来越多企业需要在很多场景(营销数据,生产数据,用户数据)下使用,可视化图表来展示体现数据,让数据更加直观,数据特点更加突出. [外链图片转存失败,源站可 ...

  5. Echarts学习总结(一)-----柱状图

    简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,基于[HTML5]Canvas (ZRender),纯Javascript图表库,是百度的一个开源的数据可视化工具,业 ...

  6. [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...

    本文是为后面的学习之路做铺垫,简单介绍下企业库中的Validation模块的一些相关知识,包括Validation模块的简介.用途.使用方法.默认提供的多种验证器的介绍等. 一.简介及用途 在实际的项 ...

  7. Echarts学习记录——如何去掉网格线及网格区域颜色

    关键属性 splitLine和splitArea,可以设置相关的属性 示例代码 <!DOCTYPE html> <html lang="en"> <h ...

  8. 【ECharts学习】—实现我的第一个图表

    [ECharts学习]-实现我的第一个图表 <!DOCTYPE html> <html lang="en"><head><meta cha ...

  9. 【ECharts学习】—实现中国地图

    [ECharts学习]-实现中国地图 使用Echarts进行地图绘制展示的时候,需要china.js的引入,我把它放在百度网盘里了,需要的自取 点我跳转到百度网盘 提取码:clby <!DOCT ...

最新文章

  1. linux locale文件,Linux 怎样修改locale语言设置
  2. matlab五子棋_应用 | 五子棋游戏——没人能在我的程序里打败我
  3. DataTime转Varchar
  4. mysql 查询超过60分钟的_mysql基础级《简单查询》60分钟搞定
  5. 如何向K8s,Docker-Compose注入镜像Tag
  6. mysql 实时性能_Mysql 实时查看性能
  7. linux vi 撤销与恢复,vi撤销与恢复
  8. php怎么学小程序,PHP学习之路之Hello World小程序
  9. 安卓应用安全指南 5.6.2 密码学 规则书
  10. mysql8 设置了默认值 CURRENT_TIMESTAMP 依然报null问题
  11. android audio 自动播放,HTML5之audio无法自动播放的问题
  12. 中颖内带LED资源驱动代码
  13. 如何插入一条记录获取插入后的自动增长ID列的方法.
  14. 《推荐系统实践》算法纯享(附代码链接)(一)—— 评价指标篇
  15. swf游戏保存进度_关于flash游戏swf文件的修改
  16. bt服务器搭建 linux_linux系统架设BT服务器的详细教程
  17. TARA-威胁建模方案4
  18. 宝塔面板服务器ip地址修改_服务器搭建网站完整教程(宝塔面板+wordpress)
  19. 六【Java 基础】数组的概述: 数组的定义与使用
  20. 关于遍历,看这篇文章就足够了【find()、findIndex()、forEach()、splice()、slice()详解】

热门文章

  1. vue 微信公众号支付接口_vue页面在微信公众号调用支付接口
  2. 3ds max快捷键文件 控制键对应的键值
  3. 织梦模板直接写php,手把手教你编写dedecms模板,谁都能懂的织梦模板教程
  4. 使用python+poco+夜神模拟器进行自动化测试。
  5. java 根据word模板导出导出word文档
  6. Redis(二) 哨兵节点、RAFT算法
  7. ARM多核心集群服务器
  8. iris流程图_IRIS的标准特点
  9. 芯禾科技EM仿真软件IRIS 通过GLOBALFOUNDRIES 22FDX工艺认证
  10. 文件恢复+html乱码怎么办,数据恢复的文件乱码,怎么办?