ECharts数据可视化教程,版本echarts-4.6.0
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,
兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),
底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
丰富的可视化类型
ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图, 用于地理数据可视化的地图、热力图、线图, 用于关系数据可视化的关系图、treemap、旭日图, 多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。除了已经内置的包含了丰富功能的图表,ECharts 还提供了自定义系列,只需要传入一个renderItem函数,
就可以从数据映射到任何你想要的图形,更棒的是这些都还能和已有的交互组件结合使用而不需要操心其它事情。
你可以在下载界面下载包含所有图表的构建文件,如果只是需要其中一两个图表,又嫌包含所有图表的构建文件太大,
也可以在在线构建中选择需要的图表类型后自定义构建。
1.2 安装使用 直接从 GitHub 下载整个项目文件,然后从echarts-4.6.0/dist 文件夹中获取构建好的 echarts,这都可以直接在浏览器端项目中使用。这些构建好的 echarts 提供了下面这几种定制: 完全版:echarts/dist/echarts.js,体积最大,包含所有的图表和组件,所包含内容参见:echarts/echarts.all.js。 常用版:echarts/dist/echarts.common.js,体积适中,包含常见的图表和组件,所包含内容参见:echarts/echarts.common.js。 精简版:echarts/dist/echarts.simple.js,体积较小,仅包含最常用的图表和组件,所包含内容参见:echarts/echarts.simple.js。 也可以使用在线引入地址,进入网址选择要引用的版本即可:http://www.bootcdn.cn/echarts/ 1.3 ECharts语法 ECharts语法和原生JS保持一致 所有键的值除了尺寸大小,值都要使用引号,键不用 键的名称都是原生JS一样的匈牙利命名风格,第一个单词小写,后面单词的首字母大写,比如 myChart、setOption、itemStyle 多个系列,先写一个列表,然后不同系列就是一个字典,所有字典放在列表中 参考下面图片
术语速查手册,快速了解功能名称,帮助定位到配置项手册
配置项手册
GL配置项手册
API文档-常用内置方法接口
详细option配置快速查看寻找方法:
第一步:打开ECharts术语速查手册 第二步:图表上面选择需要查询的组件,然后点击右边,查看配置项手册,就会跳转到option下组件详细配置页面



// 主题使用代码示例
<script src="echarts.js"></script>
<!-- 引入 vintage 主题 -->
<script src="theme/vintage.js"></script>
<script>
// 第二个参数可以指定前面引入的主题
var chart = echarts.init(document.getElementById('main'), 'vintage');
chart.setOption({
...
});
</script>
主题样式选择
1.6 表格工具
EXCEL表格可以快速转换为js、json、地理坐标等格式
在线表格
1.7 官方实例+用户分享实例
ECharts快速绘图,可以直接复制官方实例或者用户实例代码到本地,一般代码都是option内容
option直接复制到本地案例里面即可,注意jQuery、theme主题文件的引用
官方实例
注意官方实例,右上角,可以选择三个主题样式,可以切换查看图的样式效果 ECharts默认就是第一个default,自带还可以选择在不引用主题文件下可以直接使用light和dark主题 如果要使用其他theme文件夹中的主题,需要HTML文件开始引入主题的js文件,参考1.5 主题介绍
用户分享实例
除了官方实例,每种图表类型下有大量用户分享的实例,可以直接复制下来使用 用户分享实例可以自己进行筛选,右上角可以搜索名称,也可以搜索标签tags






多数组件和系列,都能够基于 top / right / down / left / width / height 绝对定位。
这种绝对定位的方式,类似于 CSS 的绝对定位(position: absolute)。绝对定位基于的是 echarts 容器 DOM 节点。
其中,他们每个值都可以是:
绝对数值(例如 bottom: 54 表示:距离 echarts 容器底边界 54 像素)。 或者基于 echarts 容器高宽的百分比(例如 right: '20%' 表示:距离 echarts 容器右边界的距离是 echarts 容器高度的 20%)。 如下图的例子,对 grid 组件(也就是直角坐标系的底板)设置 left、right、height、bottom 达到的效果。
可以注意到,left right width 是一组(横向)、top bottom height 是另一组(纵向)。这两组没有什么关联。
每组中,至多设置两项就可以了,第三项会被自动算出。例如,设置了 left 和 right 就可以了,width 会被自动算出。
补充:中心半径定位
少数圆形的组件或系列,可以使用“中心半径定位”,例如,pie(饼图)、sunburst(旭日图)、polar(极坐标系)。 中心半径定位,往往依据 center(中心)、radius(半径)来决定位置。 2.6 坐标系很多系列,例如 line(折线图)、bar(柱状图)、scatter(散点图)、heatmap(热力图)等等,需要运行在 “坐标系” 上。
坐标系用于布局这些图,以及显示数据的刻度等等。
例如 echarts 中至少支持这些坐标系:直角坐标系、极坐标系、地理坐标系(GEO)、单轴坐标系、日历坐标系 等。
其他一些系列,例如 pie(饼图)、tree(树图)等等,并不依赖坐标系,能独立存在。
还有一些图,例如 graph(关系图)等,既能独立存在,也能布局在坐标系中,依据用户的设定而来。
一个坐标系,可能由多个组件协作而成。我们以最常见的直角坐标系来举例。
直角坐标系中,包括有 xAxis(直角坐标系 X 轴)、yAxis(直角坐标系 Y 轴)、grid(直角坐标系底板)三种组件。
xAxis、yAxis 被 grid 自动引用并组织起来,共同工作。
我们来看下图,这是最简单的使用直角坐标系的方式:只声明了 xAxis、yAxis 和一个 scatter(散点图系列),
echarts 暗自为他们创建了 grid 并关联起他们:
再来看下图,两个 yAxis,共享了一个 xAxis。两个 series,也共享了这个 xAxis,
但是分别使用不同的 yAxis,yAxis列表里面的一个字典就代表一个y轴,使用 yAxisIndex (y轴的索引)来指定它自己使用的是哪个 yAxis:
再来看下图,一个 echarts 实例中,有多个 grid,一个gird就是一张独立的图
xAxis、yAxis、grid的列表里面的一个字典,就代表一个index,index就是索引,从0开始
每个 grid 分别有 xAxis、yAxis,他们使用 xAxisIndex、yAxisIndex、gridIndex 来指定引用关系:

直接的样式设置是比较常用设置方式。‘
纵观 ECharts 的 option 中,很多地方可以设置 itemStyle、lineStyle、areaStyle、label 等等。
这些的地方可以直接设置图形元素的颜色、线宽、点的大小、标签的文字、标签的样式等等。
一般来说,ECharts 的各个系列和组件,都遵从这些命名习惯,
虽然不同图表和组件中,itemStyle、label 等可能出现在不同的地方。
高亮的样式设置(类似JS中鼠标hover后的状态,emphasis里面就是高亮后的状态)
在鼠标悬浮到图形元素上时,一般会出现高亮的样式。 默认情况下,高亮的样式是根据普通样式自动生成的。 但是高亮的样式也可以自己定义,主要是通过 emphasis 属性来定制。 emphsis 中的结构,和普通样式的结构相同,option = { series: { type: 'scatter', // 普通样式。 itemStyle: { // 点的颜色。 color: 'red' }, label: { show: true, // 标签的文字。 formatter: 'This is a normal label.' }, // 高亮样式。 emphasis: { itemStyle: { // 高亮时点的颜色。 color: 'blue' }, label: { show: true, // 高亮时标签的文字。 formatter: 'This is a emphasis label.' } } } } 4.4 视觉映射(visualMap) 数据可视化是 数据 到 视觉元素 的映射过程(这个过程也可称为视觉编码,视觉元素也可称为视觉通道)。 ECharts 的每种图表本身就内置了这种映射过程, 比如折线图把数据映射到『线』,柱状图把数据映射到『长度』。 一些更复杂的图表,如 graph、事件河流图、treemap 也都会做出他们内置的映射。 此外,ECharts 还提供了 visualMap 组件 来提供通用的视觉映射。 visualMap 组件中可以使用的视觉元素有: 图形类别(symbol)、图形大小(symbolSize) 颜色(color)、透明度(opacity)、颜色透明度(colorAlpha)、 颜色明暗度(colorLightness)、颜色饱和度(colorSaturation)、色调(colorHue) 参考案例008,就是使用的颜色(红色)的明暗度 5. dataset管理数据
ECharts 4 开始支持了 dataset 组件用于单独的数据集声明,
从而数据可以单独管理,被多个组件复用,并且可以基于数据指定数据到视觉的映射。
ECharts 4 以前,数据只能声明在各个“系列(series)”中
ECharts 4 提供了 数据集(dataset)组件来单独声明数据,它带来了这些效果:
能够贴近这样的数据可视化常见思维方式:基于数据(dataset 组件来提供数据),指定数据到视觉的映射(由 encode 属性来指定映射),形成图表。 数据和其他配置可以被分离开来,使用者相对便于进行单独管理,也省去了一些数据处理的步骤。 数据可以被多个系列或者组件复用,对于大数据,不必为每个系列创建一份。 支持更多的数据的常用格式,例如二维数组、对象数组等,一定程度上避免使用者为了数据格式而进行转换。dataset数据是默认按列,映射到图表
如果没有给出这种映射配置, 那么 ECharts 就按最常见的理解进行默认映射:X 坐标轴声明为类目轴,默认情况下会自动对应到 dataset.source 中的第一列; 三个柱图系列,一一对应到 dataset.source 中后面每一列。参考案例010
5.1 数据到图形的映射 指定 dataset 的列(column)还是行(row)映射为图形系列(series)。 这件事可以使用 series.seriesLayoutBy 属性来配置。 默认是按照列(column)来映射。 指定维度映射的规则: 如何从 dataset 的维度(一个“维度”的意思是一行/列)映射到坐标轴(如 X、Y 轴)、 提示框(tooltip)、标签(label)、图形元素大小颜色等(visualMap)。 这件事可以使用 series.encode 属性,以及 visualMap 组件(如果有需要映射颜色大小等视觉维度的话)来配置。 按行作为数据映射参考案例011 5.2 维度(dimension) 介绍 encode 之前,首先要介绍“维度(dimension)”的概念。 常用图表所描述的数据大部分是“二维表”结构,上述的011例子中,我们都使用二维数组来容纳二维表。 现在,当我们把系列(series)对应到“列”的时候,那么每一列就称为一个“维度(dimension)”,而每一行称为数据项(item)。 反之,如果我们把系列(series)对应到表行,那么每一行就是“维度(dimension)”,每一列就是数据项(item)。 维度可以有单独的名字,便于在图表中显示。维度名(dimension name)可以在定义在 dataset 的第一行(或者第一列)。 例如上面的例子中,'product' 就是维度名。从第二行开始,才是正式的数据。 dataset.source 中第一行(列)到底包含不包含维度名,ECharts 默认会自动探测。 当然也可以设置 dataset.sourceHeader: true 显示声明第一行(列)就是维度, 或者 dataset.sourceHeader: false 表明第一行(列)开始就直接是数据。 大多数情况下,我们并不需要去设置维度类型,因为会自动判断。但是如果因为数据为空之类原因导致判断不足够准确时,可以手动设置维度类型。 数据到图形的映射(encode)参考案例012 5.3 ECharts默认的映射 值得一提的是,ECharts 针对最常见直角坐标系中的图表(折线图、柱状图、散点图、K线图等)、饼图、漏斗图,给出了简单的默认的映射, 从而不需要配置 encode 也可以出现图表(一旦给出了 encode,那么就不会采用默认映射)。默认的映射规则不易做得复杂,基本规则大体是: 在坐标系中(如直角坐标系、极坐标系等) 如果有类目轴(axis.type 为 'category'),则将第一列(行)映射到这个轴类目轴上,后续每一列(行)对应一个系列。 如果没有类目轴,假如坐标系有两个轴(例如直角坐标系的 X Y 轴),则每两列对应一个系列,这两列分别映射到这两个轴上。 如果没有坐标系(饼图) 取第一列(行)为名字,第二列(行)为数值(如果只有一列,则取第一列为数值)。 参考按011/012 指定了类目轴,第一行或者第一列就是类目轴 案例013/014就是使用同一个数据dataset 6. 交互式组件--缩放组件 数据区域缩放组件(dataZoom) 『概览数据整体,按需关注数据细节』是数据可视化的基本交互需求。 dataZoom 组件能够在直角坐标系(grid)、极坐标系(polar)中实现这一功能。 dataZoom 组件现在支持几种子组件: 内置型数据区域缩放组件(dataZoomInside):内置于坐标系中。 滑动条型数据区域缩放组件(dataZoomSlider):有单独的滑动条操作。 框选型数据区域缩放组件(dataZoomSelect):全屏的选框进行数据区域缩放。入口和配置项均在 toolbox中。 参考案例015版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。