获取/引入
使用必须初始化xAxis,yAxis,series和必须有hight,width;
- 下载:完全版,压缩版,自定义版(在线官网生成/npm生成);
- npm
//npm
npm i echarts --save
- 默认设置通过npm构建:例如toolbox默认提示文字为中文;
使用
- js:直接引入echarts.js后即可,使用
echarts
的API
var myEchart = echarts.init(document.getElementById("id"));//初始化
var option = {...}//定义JSON
myEchart.setOption(option);//图形化
- webpack
//直接在项目中使用,引入后,常规操作即可
var echarts = require('echarts');
柱状图
var option = {
title:{
text:"title"
},
lengend:{
data:["tool title"]//悬停提示标题
}
tooltip:{},
xAxis:{
data:["1","2","3","4","5","6","7"]//x轴条目
},
yAxis:{},//y轴条目
series:[{
name:"tooltip title",//需和lengend一致,保证正确渲染
type:"bar",//柱状图
data:[5,5,5,5,5,5,5,5]//条目对应的数值
}]
}
myEchart.setOption(option);
南丁格尔图(饼状图)
var option = {
series:[
name:"tool title",
type:"pie",//饼状图
//roseType: 'angle',//增加此项,南丁格尔图
radius:"55%",//饼大小,100%会超出绘图区
data:[
{value:235,name:"1"},
{value:235,name:"2"},
{value:235,name:"3"},
{value:235,name:"4"},
{value:235,name:"5"}
]
]
}
样式(颜色)
颜色主题
内置两种:var chart = echarts.init([dom],"<light/dark>")
,直接注册使用;
其他:在线主题编辑器,下载引入
//JSON 格式文件
$.getJSON("./test.json",function(){//JQuery
echarts.registerTheme("test",JSON.parse(themeJSON));
var chart = echarts([dom],"test");
})
//UMD格式的JS文件,HTML引入test.js后,直接可以注册
var chart = echarts.init([dom],"test");
调色板
option
中自定义一组颜色使用,全局或专属;
option = {
//全局
color:["#ccc"]
//专属
series:[{
type:"bar",
color:[]
},{
type:"pie",
color:[]
}]
}
直接设置样式
对itemStyle、lineStyle、areaStyle、label设置
高亮样式
默认自动生成,可以自定义,例如‘悬停时’高亮状态;
option = {
series:{
type:"scatter",
//普通样式
itemStyle:{
color:"red"//点的颜色
}
}
label:{
show:true,
formatter:"test"//标签文字
},
//高亮时
emphasis:{
itemStyle:{
color:"blue"//高亮时点的样式
},
lable:{
show:true,
formatter:"yooo"//高亮时显示文字
}
}
}
visualMap
视觉通道(尺寸、颜色等)的映射
异步加载和更新
- 框架动态加载数据
- loading动画:
mychart.showLoading()
、mychart.hideLoading()
- 数据更新:重新setOption填入数据,自动差异化变化视图
管理数据
echart 4 开始支持dataset
单独声明数据集,不用写在series
里,提升复用性;
//数组
var mydata = [
["x","1","2","3"],
["x1","x1value1","x1value2","x1value3"],
["x2","x2value1","x2value2","x2value3"]
]
var option = {
...
dataset:{source:mydata},
xAxis:{type:"category"},//对应第一列
yAxis:{},
series:[
{type:"bar"},//对应dataset的每二列
{type:"bar"}//对应dataset的每三列
]
}
//对象
var mydata = {
dimensions:["title","1","2","3"],//x轴
source:[
{title:"x1","1":"x1value1","2":"x1value2","x3":"x1value3"},
{title:"x2","1":"x2value1","2":"x2value2","x3":"x2value3"}
]
}
var option = {
...
dataset:mydata,
series:[
{type:"bar"},
{type:"bar"}
]
...
}
数据映射?见文档使用 dataset 管理数据
维度的数据视图的映射:encode.<x/y/tooltip/...> = ""
指定数据维度(行或列)
交互组件
- legend图例组件
- title标题组件
- visualMap视觉映射组件
- dataZoom数据区域缩放组件
- timeline时间线组件
移动端自适应
- 类似媒体查询的语法
数据的视觉映射
数据在视觉通道的视觉编码,为视觉可视化
事件
用.on()
绑定事件,名称和原生的一样:
- 鼠标事件:click,dbclick,mousedown,mouseup,mousemove,mouseover,mouseout,globalout,contextmenu
- hover事件
- 交互事件
- 代码触发
微信小程序 不支持DOM操作,ECharts小程序版本