秋风萧瑟 洪波涌起
简介
ECharts,一个纯 Javascript
的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的Canvas类库ZRender
,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。
目前由百度Echarts团队维护,在github社区开源,社区地址为:1
https://github.com/ecomfe/echarts
同类对比
我所了解的可视化图表工具主要有三个echarts
,highcharts
,D3
。他们都能对数据进行可视化操作,但是他们三者又各有不同,三者关系如下:
- echarts我们已经在上面介绍过了
- Highcharts 是一个用纯 JavaScript 编写的一个图表库, 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用
- D3(Data-Driven Documents),顾名思义是一种数据驱动文档的JavaScript的函数库,它允许用户绑定任意数据到DOM,然后根据数据来操作文档,创建可交互式的图表
从上图我们可以看出三个图既有相似的地方又有不同之处:
- 三个工具都是基于
JavaScript
的函数库,都是用于数据可视化的工具 echarts
和highcharts
都是一种类似于配置选项自动生成图表的可视化工具(下文会详细说明),而D3
则需要开发人员使用数据操作DOM进行图表的绘制echarts
和D3
都是完全开源的,而highcharts
是一种商务软件,个人和非盈利项目免费,盈利项目收费并提供技术支持,而且echarts
和D3
都可以使用标准Geojson格式的地图数据进行地图类图表的绘制,而highcharts
则需要使用其另一款收费软件Highmaps
来进行地图相关的绘制highcharts
和D3
都是基于SVG的图表可视化工具,echarts
则是基于canvas生成图表
echarts的使用介绍和内部处理流程分析
使用
首先是echarts的引入,分为模块化包引入、模块化单文件引入、标签式单文件引入三种
其次通过
echarts.init()
加载使用的dom,实例化图表对象配置图表设置
option
通过
myChart.setOption()
将配置好的设置加载到图表对象中,然后由echarts自动生成并绘制图表
内部处理流程
1 | ChartConfig:function(container,option){ …..},//加载Echarts配置文件 |
上面的步骤在实际绘图中不会完全的使用到,渲染图表和渲染地图通常只会使用到一种
图表类型介绍
echarts
提供的图表类型有十余种:
- line 折线图
- bar 柱形图
- scatter 散点图
- k K线图
- pie 饼图
- radar 雷达图
- chord 和弦图
- force 力导向图
- map 地图
- heatmap 热力图
- gauge 仪表盘图
- funnel 漏斗图
- eventRiver 时间河流图
- treemap 矩形树图
- venn 韦恩图
- tree 树图
- wordCloud 字符云图
echarts的简单使用
这里我借助echarts
官方文档的第一个例子使用最简单的标签式单文件引入的方法简单介绍一下它的使用方法
- 新建一个HTML5页面
1 |
|
- 在页面中添加一个
<div>
标签用来绘制图表(必须规定宽高)
1 |
|
- 新建
<script>
标签引入标签式单文件echarts-all.js
1 |
|
- 新建
<script>
标签,使用全局变量echarts
初始化图表并驱动图表的生成
1 | <!DOCTYPE html> |
通过以上步骤就能成功使用echarts
绘制出一个双Y轴的柱状图
小结
这次主要介绍了echarts
的信息和与其他工具的对比,简要说明了echarts
的使用方法和内部处理流程,并且完成了一个双Y轴的柱状图demo